Converteer JsonObject naar String

Hierboven staat een JsonObject, de datais een JsonObject.

Hoe het te converteren naar een Stringzoals "msg":"success"zoals u weet, kan ik niet direct dubbele aanhalingstekens toevoegen buiten data‘s waarde.


Antwoord 1, autoriteit 100%

Er is een ingebouwde methode om een JSONObject naar een String te converteren. Waarom gebruik je dat niet:

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

Antwoord 2, autoriteit 10%

U kunt gebruiken:

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

En als u een specifieke waarde wilt krijgen, kunt u het volgende gebruiken:

JsonObject.getString("msg"); 

of geheel getal

jsonObject.getInt("codeNum");

Antwoord 3, autoriteit 5%

u kunt gebruiken

JsonObject.getString("msg"); 

Antwoord 4, autoriteit 2%

Je kunt Gson converter proberen om de exacte conversie te krijgen zoals 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)

Antwoord 5

Voeg dubbele aanhalingstekens toe buiten de haakjes en vervang dubbele aanhalingstekens binnen de {}door \"

Dus: "{\"data\":{..... }"


Antwoord 6

JsonObject lijkt een JSON-P API te zijn. Als dit waar is, zou ik JsonWritter gebruiken om JsonValue in StringWriter te schrijven:

   JsonObjectBuilder pokemonBuilder = Json.createObjectBuilder();
    pokemonBuilder.add("name", "Pikachu");
    pokemonBuilder.add("type", "electric");
    pokemonBuilder.add("cp", 827);
    pokemonBuilder.add("evolve", true);
    JsonObject pokemon = pokemonBuilder.build();
    StringWriter sw = new StringWriter(128);
    try (JsonWriter jw = Json.createWriter(sw)) {
        jw.write(pokemon);
    }
    String pokemonStr = sw.toString();

Antwoord 7

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

Antwoord 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"));

Antwoord 9

U kunt de betrouwbare bibliotheek GSON gebruiken

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());

Antwoord 10

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

o/p:

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

Gebruik JSON.stringify om volledige gegevens om te zetten in stringzoals hieronder

var stringData = JSON.stringify(data);

o/p:

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

Gebruik JSON.parse om het hele tekenreeksobject om te zetten in JSON-objectzoals hieronder

var orgdata = JSON.parse(stringData);

o/p:

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

Antwoord 11

Ik denk dat je dit nodig hebt:

Stel dat je voorbeeld JSONals volgt hebt:

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

Geconverteerd naar tekenreeks:

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

Vervang ” gewoon door \”

Other episodes