JSONObject के पास हैश मैप के शीर्ष पर बहुत अधिक अतिरिक्त ओवरहेड नहीं है। यदि आप हैश मैप का उपयोग करने के ठीक हैं तो आपको JSONObject का उपयोग करके ठीक होना चाहिए। यह प्रदान किया जाता है कि आप JSON उत्पन्न करना चाहते हैं।
JSONObject आपके JSONObject के हिस्से के रूप में संग्रहीत मूल्यों की वैधता के लिए जांच करता है, यह सुनिश्चित करने के लिए कि यह JSON spec के अनुरूप है। उदाहरण के लिए NaN मान मान्य JSON का एक हिस्सा नहीं बनाते हैं। इसके अलावा, JSONObject जेसन स्ट्रिंग (नियमित | prettfied) उत्पन्न कर सकते हैं। JSON की मात्रा के आधार पर, वे तार बहुत बड़े हो सकते हैं। इसके अलावा, JSONObject स्ट्रिंगबफर का उपयोग करता है, इसलिए मैं कई चीजों में से एक स्ट्रिंगबिफर के साथ स्ट्रिंगबफर के सभी घटनाओं को प्रतिस्थापित करना होगा।
JSONObject (org.json से) सरल जेएसओएन पुस्तकालयों में से एक है जिसका आप उपयोग कर सकते हैं। यदि आप कुछ बहुत कुशल चाहते हैं, तो जैक्सन की तरह कुछ उपयोग करें।
असल में मैं इस से असहमत हूं - चूंकि JSONObject एक लाइब्रेरी के लिए विशिष्ट है, मैप्स के विपरीत, इसे एक प्रकार के रूप में उजागर करने से विशिष्ट लाइब्रेरी और इसके डेटाटाइप में अधिक युग्मन होगा। तो मैं स्पष्ट रूप से यह नहीं कहूंगा कि इसे हमेशा इस्तेमाल किया जाना चाहिए। – StaxMan
@Stax, मैं आपका बिंदु देख सकता हूं। लेकिन, अगर आपको कोड का एक हिस्सा दोबारा जोड़ना है, तो आप हमेशा डेटा को मानचित्र में निकाल सकते हैं। – jjnguy
सच है। मुझे लगता है कि कुल मिलाकर पीओजेओ बनाम लाइब्रेरी-विशिष्ट अबास्ट्रक्शन का सवाल है; मैं डेटा स्वरूप पहलुओं को किनारों के करीब रखना चाहता हूं। – StaxMan