如何在JSON对象中添加一个string数组?

我想在android上创build这个JSON对象。 我坚持如何在对象中添加一个string数组

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"] ); 

但最后一行给出了一个错误。 任何方式过去呢?

Solutions Collecting From Web of "如何在JSON对象中添加一个string数组?"

汤姆build议的一点不正确的方法。 优化的代码将是:

 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)); 

你得到一个错误,因为你的最后一行是无效的Java。

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

因为这个,你正在得到错误。

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

这样做。

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

@ bhavindesai的回答是很好的答案。 这是解决这个问题的另一种方法。 你可以简单地使用Json简单的库。 这是gradle

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

这里是示例代码:

 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); 

而已。 🙂