बस यहाँ मिश्रण में एक और तरीका फेंकने के लिए, मैं Gson पर एक नज़र लेने की सिफारिश करना चाहते हैं। जीसन एक पुस्तकालय है जो जावा ऑब्जेक्ट्स को क्रमबद्ध करने और deserialization बनाता है एक स्नैप। उदाहरण के लिए, अपने तार के साथ, आप ऐसा कर सकता है:
// Declare these somewhere that is on the classpath
public class ArrayItem{
public int id;
public double att1;
public boolean att2;
}
public class Container{
public List<ArrayItem> myArray;
}
// In your code
Gson gson = new Gson();
Container container = gson.fromJson(json, Container.class);
for(ArrayItem item : container.myArray){
System.out.println(item.id); // 1, 2, 3
System.out.println(item.att1); // 14.2, 13.2, 13.0
System.out.println(item.att2); // false, false, false
}
इसी तरह, आप पीछे की ओर बहुत आसानी से भी जा सकते हैं।
String jsonString = gson.toJson(container);
// jsonString no contains something like this:
// {"myArray":[{"id":1,"att1":14.2,"att2":false},{"id":2,"att1":13.2,"att2":false},{"id":3,"att1":13.0,"att2":false}]}
प्राथमिक लाभ यह है कि कुछ Gson की तरह उपयोग करते हुए प्रदान करता है कि आप अब जावा के प्रकार की जाँच के सभी डिफ़ॉल्ट रूप से, बजाय विशेषता नामों और खुद के प्रकार को प्रबंधित करने का उपयोग कर सकते है। यह आपको कुछ फैंसी सामान भी करने की इजाजत देता है जैसे प्रतिकृति प्रकार पदानुक्रम जो बड़ी संख्या में जेसन संदेशों को एक स्नैप प्रबंधित करते हैं। यह एंड्रॉइड के साथ बहुत अच्छा काम करता है, और जार खुद छोटा है और किसी भी अतिरिक्त निर्भरता की आवश्यकता नहीं है।
स्ट्रिंग एक JSON ऑब्जेक्ट है, एक सरणी नहीं (बाहरी ब्रेसिज़ को नोट करें)। – Henry