{
"data":
{
"map":
{
"allowNestedValues": true,
"create": "2012-12-11 15:16:13",
"title": "test201212110004",
"transitions": []
}
},
"msg": "success",
"code": "0"
}
Oben ist ein JsonObject
, das data
ist ein JsonObject
.
Wie Sie es in ein String
Like umwandeln, wie "msg":"success"
Sie wissen, kann ich keine doppelten Anführungszeichen außerhalb data
des Werts direkt hinzufügen .
\"
wenn Sie dies wünschen. Bitte fügen Sie Ihr Problem / Ihre Frage hinzu!org.json.JSONObject
? Wenn diestoString()
derJSONObject
Fall ist, können Sie einfach die Methode von aufrufen , um den JSON-Text des zu erhaltenJSONObject
.Antworten:
Es gibt eine eingebaute Methode, um ein JSONObject in einen String zu konvertieren. Warum benutzt du das nicht:
JSONObject json = new JSONObject(); json.toString();
quelle
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 Integer-Wert
jsonObject.getInt("codeNum");
quelle
Sie können verwenden
JsonObject.getString("msg");
quelle
Sie können Gson Converor ausprobieren, um die genaue Konvertierung wie json.stringify zu erhalten
quelle
Fügen Sie doppelte Anführungszeichen außerhalb der Klammern hinzu und ersetzen Sie doppelte Anführungszeichen innerhalb der
{}
durch\"
Damit:
"{\"data\":{..... }"
quelle
JSONObject metadata = (JSONObject) data.get("map"); //for example String jsonString = metadata.**toJSONString()**;
quelle
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"));
quelle
Sie können die zuverlässige Bibliothek GSON verwenden
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());
quelle
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"}
Verwenden Sie JSON.stringify, um ganze Daten wie unten beschrieben in Zeichenfolgen zu konvertieren
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"}"
Verwenden Sie JSON.parse, um das gesamte Zeichenfolgenobjekt wie unten beschrieben in ein JSON-Objekt zu konvertieren
var orgdata = JSON.parse(stringData);
o / p:
Object {data: Object, msg: "success", code: "0"}
quelle
Ich denke du brauchst das:
{"ParamOne":"InnerParamOne":"InnerParamOneValue","InnerParamTwo":"InnerParamTwoValue","InnerParamThree":"InnerParamThreeValue","InnerParamFour":"InnerParamFourValue","InnerParamFive":"InnerParamFiveValue"}}
String response = {\"ParamOne\":{\"InnerParamOne\":\"InnerParamOneValue\",\"InnerParamTwo\":\"InnerParamTwoValue\",\"InnerParamThree\":\"InnerParamThreeValue\",\"InnerParamFour\":\"InnerParamFourValue\",\"InnerParamFive\":\"InnerParamFiveValue\"}} ;
Ersetzen Sie einfach "durch \"
quelle