2013-03-31 13 views
16

मैं एंड्रॉइड पर यह JSON ऑब्जेक्ट बनाने की कोशिश कर रहा हूं। मैं ऑब्जेक्ट में एक स्ट्रिंग सरणी जोड़ने के लिए अटक गया हूँ।किसी JSON ऑब्जेक्ट में स्ट्रिंग ऐरे को कैसे जोड़ा जाए?

A = { 
    "class" : "4" , 
    "name" : ["john", "mat", "jason", "matthew"] 
    } 

इस कोड है कि मैं लिखा है है:

import org.json.JSONObject; 

JSONObject school = new JSONObject(); 

school.put("class","4"); 
school.put("name", ["john", "mat", "jason", "matthew"]); 

लेकिन अंतिम पंक्ति एक त्रुटि देता है। इस तरह से किसी भी तरह से?

उत्तर

36

टॉम द्वारा सुझाए गए छोटे अनुचित दृष्टिकोण। अनुकूलित कोड होगा:

ArrayList<String> list = new ArrayList<String>(); 
list.add("john"); 
list.add("mat"); 
list.add("jason"); 
list.add("matthew"); 

JSONObject school = new JSONObject(); 

school.put("class","4"); 
school.put("name", new JSONArray(list)); 
+1

यह करने का यह सही जावा तरीका है। चयनित उत्तर काम करेगा लेकिन ऐसा करने का सही तरीका नहीं है। – zeeshan

+0

इसे करने का बेहतर तरीका, स्वीकार किया जाना चाहिए। –

2

इस वजह से आपको त्रुटि मिल रही है।

school.put("name", ["john", "mat", "jason", "matthew"]); 
       ^        ^ 

ऐसा करें।

school.put("name", new JSONArray("[\"john\", \"mat\", \"jason\", \"matthew\"]")); 
+0

दोस्त की मदद नहीं की – VenkateshShukla

+0

@VenkateshShukla अब आपके पास क्या समस्या है? –

+0

देरी के लिए खेद है .... मेरी समस्या को हल करने के नीचे क्या टॉम ने कहा ... – VenkateshShukla

6

आपको एक त्रुटि हो रही है क्योंकि आपकी अंतिम पंक्ति अमान्य जावा है।

school.put("name", new JSONArray("[\"john\", \"mat\", \"jason\", \"matthew\"]")); 
+0

यह हल हो गया ... वास्तव में मुझे एक नया JSONArray बनाना था और इसमें सभी डेटा डालना पड़ा। Thanx बहुत – VenkateshShukla

2

@ भविन्देसाई, उत्तर बहुत अच्छा जवाब है। इस मुद्दे को हल करने का एक और तरीका यहां है। आप बस जेसन सरल पुस्तकालय का उपयोग कर इसे कर सकते हैं।

org.json.simple.JSONObject jsonObject=new org.json.simple.JSONObject(); 
jsonObject.put("Object","String Object"); 

ArrayList<String> list = new ArrayList<String>(); 
      list.add("john"); 
      list.add("mat"); 
      list.add("jason"); 
      list.add("matthew"); 

      jsonObject.put("List",list); 

यह है कि: यहाँ Gradle

compile 'com.googlecode.json-simple:json-simple:1.1' 

यहाँ नमूना कोड है। :)

संबंधित मुद्दे