{
"data":
{
"map":
{
"allowNestedValues": true,
"create": "2012-12-11 15:16:13",
"title": "test201212110004",
"transitions": []
}
},
"msg": "success",
"code": "0"
}
Powyżej jest a JsonObject
, to data
jest JsonObject
.
Jak wiesz, String
jak przekonwertować to na coś podobnego "msg":"success"
, nie mogę bezpośrednio dodać podwójnego cudzysłowu poza data
wartością.
\"
jeśli tego chcesz. Dodaj swój problem / pytanie!org.json.JSONObject
? Jeśli tak, możesz po prostu wywołaćtoString()
metodę of,JSONObject
aby uzyskać tekst JSON plikuJSONObject
.Odpowiedzi:
Istnieje wbudowana metoda konwersji JSONObject na String. Dlaczego tego nie używasz:
JSONObject json = new JSONObject(); json.toString();
źródło
Możesz użyć:
JSONObject jsonObject = new JSONObject(); jsonObject.toString();
A jeśli chcesz uzyskać konkretną wartość, możesz użyć:
jsonObject.getString("msg");
lub Wartość całkowita
jsonObject.getInt("codeNum");
źródło
możesz użyć
JsonObject.getString("msg");
źródło
Możesz wypróbować konwerter Gson, aby uzyskać dokładną konwersję, taką jak json.stringify
źródło
Dodaj cudzysłowia poza nawiasami i wymień cudzysłów wewnątrz
{}
z\"
Więc:
"{\"data\":{..... }"
źródło
JSONObject metadata = (JSONObject) data.get("map"); //for example String jsonString = metadata.**toJSONString()**;
źródło
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"));
źródło
Możesz skorzystać z niezawodnej biblioteki 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());
źródło
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"}
Użyj JSON.stringify, aby przekonwertować całe dane na ciąg, jak poniżej
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"}"
Użyj JSON.parse, aby przekonwertować cały obiekt ciągu na obiekt JSON, jak poniżej
var orgdata = JSON.parse(stringData);
o / p:
Object {data: Object, msg: "success", code: "0"}
źródło
Myślę, że potrzebujesz tego:
{"ParamOne":"InnerParamOne":"InnerParamOneValue","InnerParamTwo":"InnerParamTwoValue","InnerParamThree":"InnerParamThreeValue","InnerParamFour":"InnerParamFourValue","InnerParamFive":"InnerParamFiveValue"}}
String response = {\"ParamOne\":{\"InnerParamOne\":\"InnerParamOneValue\",\"InnerParamTwo\":\"InnerParamTwoValue\",\"InnerParamThree\":\"InnerParamThreeValue\",\"InnerParamFour\":\"InnerParamFourValue\",\"InnerParamFive\":\"InnerParamFiveValue\"}} ;
Po prostu zamień „na”
źródło