Подтвердить что ты не робот

Преобразование JsonObject в String

{
    "data": 
    {
        "map":
        {
            "allowNestedValues": true,
            "create": "2012-12-11 15:16:13",
            "title": "test201212110004",
            "transitions": []
        }
    },
    "msg": "success",
    "code": "0"
}

Выше , data является JsonObject.

Как преобразовать его в String как "msg":"success", как вы знаете, я не могу напрямую добавить двойные кавычки вне значения data.

4b9b3361

Ответ 1

Существует встроенный метод для преобразования JSONObject в строку. Почему бы вам не использовать это:

JSONObject json = new JSONObject();

json.toString();

Ответ 2

вы можете использовать

JsonObject.getString("msg"); 

Ответ 3

Ты можешь использовать:

JSONObject jsonObject = new JSONObject();
jsonObject.toString();

И если вы хотите получить конкретное значение, вы можете использовать:

jsonObject.getString("msg");

или целочисленное значение

jsonObject.getInt("codeNum");

Ответ 4

Добавьте двойные кавычки вне скобок и замените двойные кавычки внутри {} на \"

Итак: "{\"data\":{..... }"

Ответ 5

Вы можете попробовать Gson преобразователь, чтобы получить точное преобразование, как json.stringify

val jsonString:String = jsonObject.toString()
val gson:Gson = GsonBuilder().setPrettyPrinting().create()
val json:JsonElement = gson.fromJson(jsonString,JsonElement.class)
val jsonInString:String= gson.toJson(json)
println(jsonInString)

Ответ 6

JSONObject metadata = (JSONObject) data.get("map"); //for example
String jsonString = metadata.**toJSONString()**;

Ответ 7

Скажем, вы сохранили этот ответ в jsonObject в следующем POJO. чтобы получить его как строку, выполните следующие действия:

class MyPojo {
    private JSONObject jsonObject;

    @JsonRawValue
    @JsonInclude( JsonInclude.Include.NON_NULL)
    @JsonProperty(value = "jsonString")
    public String getJsonObject()
    {
         return jsonObject.toString();
    } 
}

Теперь myPojo.getJsonOBject(); даст вам JSON как строку.

"jsonString" будет именем json Property, и значение будет вашим json.

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonRawValue;

Ответ 8

     This should get all the values from the above JsonObject  
     System.out.println(jsonObj.get("msg"));
     System.out.println(jsonObj.get("code"));

     JsonObject obj= jsonObj.get("data").getAsJsonObject().get("map").getAsJsonObject();
     System.out.println(obj.get("allowNestedValues"));
     System.out.println(obj.get("create"));
     System.out.println(obj.get("title"));
     System.out.println(obj.get("transitions"));

Ответ 9

Вы можете использовать надежную библиотеку GSON

private static final Type DATA_TYPE_JSON = 
        new TypeToken<JSONObject>() {}.getType();           
JSONObject orderJSON = new JSONObject();
orderJSON.put("noOfLayers", "2");
orderJSON.put("baseMaterial", "mat");
System.out.println("JSON == "+orderJSON.toString());
String dataAsJson = new Gson().toJson(orderJSON, DATA_TYPE_JSON);
System.out.println("Value of dataAsJson == "+dataAsJson.toString());
String data = new Gson().toJson(dataAsJson);
System.out.println("Value of jsonString == "+data.toString());

Ответ 10

 var data= {"data": {"map":{"allowNestedValues": true,"create": "2012-12-11 15:16:13","title": "test201212110004","transitions": []}},"msg": "success","code": "0"}

о/р

Object {data: Object, msg: "success", code: "0"}

Используйте JSON.stringify для преобразования целых данных в строку, как показано ниже

var stringData = JSON.stringify(data);

о/р

"{"data":{"map":{"allowNestedValues":true,"create":"2012-12-11 15:16:13","title":"test201212110004","transitions":[]}},"msg":"success","code":"0"}"

Использовать JSON.parse для преобразования всего строкового объекта в объект JSON, как показано ниже

var orgdata = JSON.parse(stringData);

о/р

Object {data: Object, msg: "success", code: "0"}

Ответ 11

Думаю, вам это нужно:

Предположим, что у вас есть пример JSON следующим образом:

{"ParamOne":"InnerParamOne":"InnerParamOneValue","InnerParamTwo":"InnerParamTwoValue","InnerParamThree":"InnerParamThreeValue","InnerParamFour":"InnerParamFourValue","InnerParamFive":"InnerParamFiveValue"}}

Преобразован в строку:

String response = {\"ParamOne\":{\"InnerParamOne\":\"InnerParamOneValue\",\"InnerParamTwo\":\"InnerParamTwoValue\",\"InnerParamThree\":\"InnerParamThreeValue\",\"InnerParamFour\":\"InnerParamFourValue\",\"InnerParamFive\":\"InnerParamFiveValue\"}} ;

Просто замените "by \"