कन्वर्ट JsonObject स्ट्रिंग के लिए


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

ऊपर एक है JsonObject, dataएक है JsonObject

Stringजैसा "msg":"success"कि आप जानते हैं कि इसे कैसे परिवर्तित करना है , मैं सीधे एक दोहरे dataमान को बाहर नहीं जोड़ सकता ।


3
मैं इसे प्राप्त नहीं कर सकता ... क्या आप rephrase कर सकते हैं और (यहां तक ​​कि गैर-काम कर रहे) कोड स्निपेट भी दिखा सकते हैं कि आप क्या करने का प्रयास कर रहे हैं?
sp00m

4
JsonObject.getString ("संदेश");
निकोलस टायलर

\"यदि आप चाहते हैं कि आप एक बैकस्लैश के साथ डबलक्वाट्स जोड़ सकते हैं। कृपया अपनी समस्या / प्रश्न जोड़ें!
बेंजामिन श्वाब

1
इसका एक उदाहरण है org.json.JSONObject? यदि ऐसा है, तो आप केवल JSON टेक्स्ट प्राप्त करने के लिए toString()विधि को कॉल कर सकते हैं । JSONObjectJSONObject
स्टेनली

3
ऐसा लगता है कि 3+ साल बाद यहां जो लोग उतर रहे हैं वे उपयोगी हैं जो कि पूछा गया था से संबंधित नहीं है। और यह भी दिखता है कि प्रश्न स्पष्ट होने में लंबे समय से मदद करता है। मेरा मानना ​​है कि मूल प्रश्न यह था कि @ जेजेहंग वस्तु को समतल करना चाहता था, जैसे कि डेटा उसके आंतरिक आगजनी मूल्य का एक स्ट्रिंग प्रतिनिधित्व था। ऐसा लगता है कि किसी ने भी इसका जवाब नहीं दिया। वर्षों बाद ऐसा करने से दूसरों के लिए कोई मूल्य होने की संभावना नहीं होगी। लोग एक कबाड़ में जंज़ को बदलने के लिए खोज करने से बच रहे हैं और एक भ्रमित क्यू एंड ए सत्र में सबसे अच्छा हटा दिया गया है।
dlamblin

जवाबों:


159

JSONObject को एक स्ट्रिंग में बदलने के लिए एक इनबिल्ट विधि है। आप इसका उपयोग क्यों नहीं करते हैं:

JSONObject json = new JSONObject();

json.toString();

{"data": "{" map ": {" allowNestedValues ​​": true," pdId ": 168543," source ":" "}}," msg ":" सफलता "," code ":" 0 "}
जय झांग

मैं प्रतिक्रिया स्ट्रिंग में \ \ \ स्लेश हो रहा हूँ।
जीन्स

@Onkar कोड स्निपेट के साथ अपना स्ट्रिंग नमूना साझा करें।
तनु गर्ग

इस धागे के समान। लेकिन जवाब नहीं मिला। stackoverflow.com/q/16563579/8098322
ओंकार मुसले

{"तिथि": "2013/5/15"}। क्या आप आयात का उपयोग कर रहे हैं org.json.JSONObject; मेरे लिए यह ठीक है। अपना सटीक नमूना साझा करें। JSONObject json = नया JSONObject (); {json.put ("दिनांक", "2013/5/15") आज़माएं; } catch (JSONException e) {// TODO ऑटो-जनरेट कैच ब्लॉक e.printStackTrace (); } System.out.println (json.toString ());
तनु गर्ग

14

आप उपयोग कर सकते हैं:

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

और यदि आप एक विशिष्ट मूल्य प्राप्त करना चाहते हैं, तो आप उपयोग कर सकते हैं:

jsonObject.getString("msg");

या पूर्णांक मान

jsonObject.getInt("codeNum");

JsonObject.optString ("msg") और jsonObject.optInt ("codeNum") का उपयोग करना बेहतर है क्योंकि यदि आप getString () या getInt () का उपयोग करते हैं (और msg या कोडनेम मान शून्य हैं) तो इसे फेंक देंगे और त्रुटि और रोक देंगे कार्यक्रम। मेरे द्वारा बताए गए तरीकों के साथ केवल अंतर यह है कि यदि मान शून्य हैं, तो वे कोई त्रुटि नहीं करेंगे।
यूजर 1


4

आप Json.stringify की तरह सटीक रूपांतरण प्राप्त करने के लिए, Gson कनवर्टर की कोशिश कर सकते हैं

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

एक डबल कोट्स कोष्ठक बाहर जोड़ें और अंदर दोहरे उद्धरण चिह्नों की जगह {}के साथ\"

इसलिए: "{\"data\":{..... }"


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

JSONObject json = (JSONObject) JSONValue.parse (jsonData); JSONObject डेटा = (JSONObject) json.get ("डेटा"); जब आप json डेटा पार्स कर लेते हैं, तो आपको डेटा ऑब्जेक्ट को एक्सेस करने की आवश्यकता होती है, बाद में json string को "मैप" डेटा मिलता है।
हकन अनलामज

-2
     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"));

इस सवाल का जवाब नहीं है।
राल्फ

-2

आप विश्वसनीय पुस्तकालय 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());

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

ओ / पी:

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

संपूर्ण डेटा को नीचे की तरह स्ट्रिंग में बदलने के लिए JSON.stringify का उपयोग करें

var stringData = JSON.stringify(data);

ओ / पी:

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

संपूर्ण स्ट्रिंग ऑब्जेक्ट को नीचे दिए गए JSON ऑब्जेक्ट में बदलने के लिए JSON.parse का उपयोग करें

var orgdata = JSON.parse(stringData);

ओ / पी:

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

-7

मुझे लगता है कि आपको इसकी आवश्यकता है:

मान लीजिए कि आपके पास इसका नमूना JSONहै:

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

स्ट्रिंग में परिवर्तित:

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

बस "by" को बदलें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.