Conversia JsonObject în șir de caractere (Programare, Java, String)

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

Mai sus este un JsonObject, , se poate vedea data este un JsonObject.

Cum se convertește în a String ca "msg":"success" după cum știți, nu pot adăuga direct un ghilimele duble în afara lui data‘s value.

Comentarii

  • Nu reușesc să o… Ai putea să reformulezi și să dai fragmente de cod (chiar și nefuncționale) care să ilustreze ceea ce încerci să faci? –  > Por sp00m.
  • JsonObject.getString(„msg”); –  > Por Nicolas Tyler.
  • Puteți adăuga ghilimele duble cu o backslash
    dacă asta este ceea ce doriți. Vă rugăm să adăugați problema/întrebarea dumneavoastră! –  > Por Benjamin Schwalb.
  • Este aceasta o instanță de org.json.JSONObject? Dacă este, puteți apela pur și simplu toString() metoda de JSONObject pentru a obține textul JSON alJSONObject. –  > Por Stanley.
  • Se pare că ceea ce oamenii care aterizează aici 3+ ani mai târziu găsesc util nu are nicio legătură cu ceea ce a fost întrebat. Și, de asemenea, se pare că întrebarea a trecut de mult de ajutorul pentru a fi clarificată. Cred că întrebarea inițială era că @JayZhang dorea să aplatizeze obiectul, astfel încât datele să fie o reprezentare de tip șir de caractere a valorii sale json interioare. Se pare că nimeni nu a răspuns la întrebarea cum se poate face acest lucru. A face acest lucru ani mai târziu ar fi puțin probabil să aibă vreo valoare pentru alții. Oamenii aterizează de la căutarea conversiei json într-un șir de caractere și se împotmolește într-o sesiune confuză de Q&A, care ar fi mai bine să fie ștearsă. –  > Por dlamblin.
10 răspunsuri
Tanu Garg

Există o metodă încorporată pentru a converti un JSONObject într-un String. De ce nu o folosiți:

JSONObject json = new JSONObject();

json.toString();

Comentarii

  • { „data”: „{ „map”: { „allowNestedValues”: true, „pdId”: 168543, „source”: „” } }”, „msg”: „success”, „code”: „0” } –  > Por Jay Zhang.
  • Primesc tăieturi în șirul de răspuns. cum să convertesc obiectul json fără a obține tăieturi –  > Por Onkar Musale.
  • @Onkar împărtășiți exemplul de șir de caractere împreună cu fragmentul de cod. –  > Por Tanu Garg.
  • similar cu acest fir de discuție. dar nu reușesc să găsesc răspunsul. stackoverflow.com/q/16563579/8098322 –  > Por Onkar Musale.
  • {„date”:”2013/5/15″}. Folosești import org.json.JSONObject; funcționează bine pentru mine. Împărtășiți exemplul dvs. exact. JSONObject json = new JSONObject(); try { json.put(„date”, „2013/5/15”); } catch (JSONException e) { // TODO Blocul de captură autogenerat e.printStackTrace(); } } System.out.println(json.toString()); –  > Por Tanu Garg.
Janiel Mac

Puteți utiliza:

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

Iar dacă doriți să obțineți o anumită valoare, puteți folosi::

jsonObject.getString("msg");

sau Valoarea întreagă

jsonObject.getInt("codeNum");

Comentarii

  • Este mai bine să folosiți jsonObject.optString(„msg”) și jsonObject.optInt(„codeNum”), deoarece dacă folosiți getString() sau getInt() și valorile msg sau codeNum sunt nule, se va arunca o eroare și se va opri programul. Singura diferență față de metodele pe care le-am menționat este că acestea nu vor arunca o eroare dacă valorile sunt nule. –  > Por Utilizator1.
Ruchira Gayan Ranaweera

puteți utiliza

JsonObject.getString("msg"); 

Naveen Kumar

Puteți încerca Gson convertor, pentru a obține conversia exactă ca 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)

NargesooTv

Adăugați un ghilimele duble în afara parantezelor și înlocuiți ghilimelele duble în interiorul {} cu

Deci: "{
data
:{..... }"

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

Comentarii

  • JSONObject json= (JSONObject) JSONValue.parse(jsonData); JSONObject data = (JSONObject) json.get(„data”); După ce ați analizat datele json, trebuie să accesați ulterior obiectul data pentru a obține „maparea” datelor în șirul json. –  > Por Hakan Anlamaz.
pshetty
     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"));

Comentarii

  • acest lucru nu răspunde la întrebare. –  > Por ralfe.
Kavitha yadav

Puteți utiliza biblioteca de încredere 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());

Raghava
 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"}

Utilizați JSON.stringify pentru a converti datele întregi în șir de caractere ca mai jos

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"}"

Utilizați JSON.parse pentru a converti întregul obiect string în obiect JSON ca mai jos

var orgdata = JSON.parse(stringData);

o/p:

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

Vivek Adhikari

Cred că aveți nevoie de acest lucru :

Să presupunem că aveți Exemplu JSON ca aceasta:

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

Convertit în șir de caractere :

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

Doar înlocuiți ” cu

user5498596

Tags:,