मैं एक एंड्रॉइड ऐप विकसित कर रहा हूं जो सर्वर संचार के लिए JSON का उपयोग करता है और जब मैं अपनी जेसन फ़ाइल को पार्स करने की कोशिश कर रहा हूं तो मुझे एक अजीब समस्या है।JSON jsonObject.optString() स्ट्रिंग "शून्य"
यह मेरा पता Json-वस्तु पर String city = address.optString("city", "")
फोन करके सर्वर
{
"street2": null,
"province": null,
"street1": null,
"postalCode": null,
"country": null,
"city": null
}
मैं शहर के लिए मूल्य मिल रहा है से मेरी json है। इस स्थिति के लिए मुझे खाली होने के लिए city
की उम्मीद है (यही वह विकल्प है जो ऑप्टस्टिंग यहां है?) लेकिन वास्तव में इसमें स्ट्रिंग "नल" है। तो आगे शून्य- या है लक्षण-जांच झूठी वापसी होगी क्योंकि स्ट्रिंग में टेक्स्ट होता है। अगर मैं address.isNull("city")
पर कॉल करता हूं तो यह सही होता है जो सही है। केवल optString
विफल रहता है।
मुझे इस समस्या के लिए Google या Stackoverflow पर कुछ भी नहीं मिला। मैं वास्तव में नहीं समझता कि यह कैसे हो सकता है क्योंकि मैंने सोचा था कि optString
वही करेगा जो मैंने अपेक्षित किया था। किसी को पता है कि यहाँ क्या गलत हो रहा है?
'null' जावा (और हर दूसरी प्रोग्रामिंग भाषा मुझे पता है) में एक स्ट्रिंग के लिए मान्य मान है, इसलिए यह समझ में आता है कि यह फॉलबैक नहीं चुनता है, अगर यह कुंजी मौजूद नहीं है, तो यह फॉलबैक लेगा – x4rf41
धन्यवाद। यह _optString_ से अपेक्षित व्यवहार नहीं है लेकिन ऐसा लगता है कि डेवलपर के मन में कुछ अलग था। खुद से जांच करना है। – joshplusa