2012-12-09 17 views
52

में getString() और optString() के बीच का अंतर JSON में getString() और optString() के बीच क्या अंतर है?जेसन

+6

'ऑप्टस्ट्रिंग' उन परिस्थितियों में उपयोगी हो सकता है जहां आपको विश्वास नहीं है कि JSON अनुरोध प्रारूप वही रहेगा ... यानी, JSON अनुरोध पर 'getString' को कॉल करना) पहले काम करें, लेकिन अगर भविष्य में यह बदलता है कि कुंजी मौजूद नहीं है, तो एक अपवाद फेंक दिया जाएगा और आपका ऐप क्रैश हो सकता है। –

उत्तर

89

डिएगो उल्लेख के रूप में, यह documentation जाँच करने के लिए एक अच्छा विचार है (इस लिंक है अब पुराना हो चुका - अच्छी बात हम Wayback Machine! है) है एक सवाल यहाँ पोस्ट करने से पहले, लेकिन अब आप है:

अंतर क्या optString खाली स्ट्रिंग ("") देता है यदि आपके द्वारा निर्दिष्ट कुंजी मौजूद नहीं है। दूसरी ओर getStringJSONException फेंकता है। getString का उपयोग करें यदि यह डेटा गुम होने की त्रुटि है, या optString यदि आप सुनिश्चित नहीं हैं कि यह वहां होगा या नहीं।

संपादित करें: प्रलेखन से पूर्ण विवरण:

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

+1

FYI: पैरामीटर के रूप में दूसरी स्ट्रिंग प्रदान करने के लिए डिफ़ॉल्ट मान के रूप में उपयोग किया जाएगा यदि निर्दिष्ट कुंजी मौजूद नहीं है। –

0

सार्वजनिक java.lang.String optString (int अनुक्रमणिका) किसी अनुक्रमणिका से जुड़े वैकल्पिक स्ट्रिंग मान प्राप्त करें। अगर उस सूचकांक में कोई मूल्य नहीं है तो यह एक खाली स्ट्रिंग देता है। यदि मान स्ट्रिंग नहीं है और शून्य नहीं है, तो यह एक स्ट्रिंग में उलटा हुआ है। पैरामीटर्स: सूचकांक - सूचकांक 0 और लंबाई() - 1. रिटर्न: एक स्ट्रिंग मान के बीच होना चाहिए।

6

आप NullPointerException से बचना चाहते हैं तो आप बेहतर, optString()

के उपयोग आप किसी भी समय JSON से डेटा प्राप्त करने में कर रहे हैं, आप एक विशेष कुंजी मूल्य के लिए null डेटा हो सकता है बनाने के उस समय के बजाय अशक्त को लागू करने परिस्थितियों, बेहतर ढंग से इस अनुकूलित विधि का उपयोग optString("<keyname>")

+0

बहुत बहुत धन्यवाद !! इससे मुझे बहुत सहायता प्राप्त हुई – Sairam