java - postgres - Convierta JsonObject a String
postgresql json example (9)
{
"data":
{
"map":
{
"allowNestedValues": true,
"create": "2012-12-11 15:16:13",
"title": "test201212110004",
"transitions": []
}
},
"msg": "success",
"code": "0"
}
Arriba está JsonObject
, los data
son JsonObject
.
Cómo convertirlo a una String
como "msg":"success"
como usted sabe, no puedo agregar directamente una cotización doble fuera del valor de los data
.
@hsz tenemos el método inbuild para convertir jsonObject en string. ¿Por qué no usas eso?
JSONObject json = new JSONObject();
json.toString();
Agregue una comillas dobles fuera de los corchetes y reemplace las comillas dobles dentro de {}
con /"
Entonces: "{/"data/":{..... }"
Creo que necesitas esto:
Supongamos que tiene Sample
JSON
como este:
{"ParamOne":"InnerParamOne":"InnerParamOneValue","InnerParamTwo":"InnerParamTwoValue","InnerParamThree":"InnerParamThreeValue","InnerParamFour":"InnerParamFourValue","InnerParamFive":"InnerParamFiveValue"}}
Convertido en cadena:
String response = {/"ParamOne/":{/"InnerParamOne/":/"InnerParamOneValue/",/"InnerParamTwo/":/"InnerParamTwoValue/",/"InnerParamThree/":/"InnerParamThreeValue/",/"InnerParamFour/":/"InnerParamFourValue/",/"InnerParamFive/":/"InnerParamFiveValue/"}} ;
Simplemente reemplace "por /"
Puede usar la biblioteca confiable 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());
Puedes usar:
JSONObject jsonObject = new JSONObject();
jsonObject.toString();
Y si desea obtener un valor específico, puede usar:
jsonObject.getString("msg");
o valor entero
jsonObject.getInt("codeNum");
puedes usar
JsonObject.getString("msg");
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"));
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"}
Utilice JSON.stringify para convertir datos completos en cadenas como a continuación
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"}"
Utilice JSON.parse para convertir todo el objeto de cadena en objeto JSON como se muestra a continuación
var orgdata = JSON.parse(stringData);
o / p:
Object {data: Object, msg: "success", code: "0"}
JSONObject metadata = (JSONObject) data.get("map"); //for example
String jsonString = metadata.**toJSONString()**;