2013-11-04 5 views
5

है कि मैं यह पता लगाने का सबसे आसान तरीका जानना चाहता हूं कि JSON स्ट्रिंग में कोई कुंजी/फ़ील्ड मौजूद है या नहीं।जावा: जेसन की कुंजी/फ़ील्ड

उदाहरण के लिए

:

if(jsonObject(myJsonString).hasKey("myKey")){ 

} 

मैं एक बहुत लिखने के लिए पसंद करते हैं नहीं होगा। मैं वर्तमान में न्यूनतम JSON का उपयोग कर रहा हूं और ऐसा प्रतीत होता है कि इसमें ऐसा कोई फ़ंक्शन नहीं है।

उत्तर: JSONObject jsonObj2 = नया JSONObject (संदेश); अगर (jsonObj2.has ("कुंजी"));

+0

आप JSON पुस्तकालय के किसी भी प्रकार का उपयोग कर रहे हैं? – Darkhogg

+0

हाँ मैं हूँ! https://github.com/ralfstx/minimal-json - मुझे उपयुक्त विधि नहीं मिल रही है! –

+0

आम तौर पर, आप जेएसओएन को अपनी भाषा में इसके "ऑब्जेक्ट" प्रतिनिधित्व में पार्स करेंगे, फिर ब्याज की कुंजी मांगें। बेशक, यह आपको नहीं बताएगा कि क्या मिलान की दस परतें गहरी हैं, लेकिन यह किसी भी प्रासंगिक जानकारी के बिना शायद ही कभी सार्थक है। –

उत्तर

12

सुनिश्चित नहीं है कि आप वास्तव में न्यूनतम जेएसओएन द्वारा क्या मतलब रखते हैं, व्यक्तिगत रूप से मुझे org.json पैकेज सरल और सीधा (यानी न्यूनतम ओवरहेड) मिलता है। यह here पाया गया है। org.json.JSONObject कक्षा, उदाहरण के लिए, public boolean has(String key) विधि है, जिसका उपयोग यह जांचने के लिए किया जाता है कि कोई निश्चित कुंजी मौजूद है या नहीं।

+0

बिल्कुल सही! धन्यवाद! –

+0

https://github.com/ralfstx/minimal-json –

1

minimal-json में, आप लिखना चाहते हैं:

if (JsonObject.readFrom(myJsonString).get("myKey") != null) { 
    ... 
}