wake-up-neo.com

Konvertieren Sie JsonObject in String

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

Oben ist eine JsonObject, die data ist eine JsonObject.

Wie kann ich es in einen String-ähnlichen "msg":"success" konvertieren? Wie Sie wissen, kann ich keine doppelten Anführungszeichen außerhalb des Werts von data hinzufügen.

50
Jay Zhang

@hsz Wir haben eine eingebaute Methode, um jsonObject in einen String zu konvertieren. Warum benutzt du das nicht?.

 JSONObject json = new JSONObject();
   json.toString();
89
Tanu Garg

sie können verwenden

JsonObject.getString("msg"); 

Sie können verwenden:

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

Und wenn Sie einen bestimmten Wert erhalten möchten, können Sie Folgendes verwenden:

jsonObject.getString("msg");

oder Ganzzahlwert

jsonObject.getInt("codeNum");
2
Janiel Mac

Fügen Sie doppelte Anführungszeichen außerhalb der Klammern ein und ersetzen Sie doppelte Anführungszeichen in {} durch \"

Also: "{\"data\":{..... }"

1
NargesooTv

Sie können Gson convertor ausprobieren, um die exakte Konvertierung wie json.stringify zu erhalten

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)
1
Naveen Kumar
JSONObject metadata = (JSONObject) data.get("map"); //for example
String jsonString = metadata.**toJSONString()**;
0
Hakan Anlamaz