Java Android API 19之前不支持JSONArray

Java Android API 19之前不支持JSONArray,java,android,json,Java,Android,Json,我需要使用JSONArray发送数据,这在android api级别19之前是不可用的。Json对象类似于- myJob = {"data1":['a','b','c'], "data2":[1,2,3] } 对于以前的API级别,我应该使用什么?您也可以使用API 19下面的Json对象和Json数组 JSONObject data1 = new JSONObject(); data1.put("id", "2"); data1.put("name", "John"

我需要使用JSONArray发送数据,这在android api级别19之前是不可用的。Json对象类似于-

myJob = {"data1":['a','b','c'],
      "data2":[1,2,3]
     }

对于以前的API级别,我应该使用什么?

您也可以使用API 19下面的Json对象和Json数组

JSONObject data1 = new JSONObject();
 data1.put("id", "2");
 data1.put("name", "John");
JSONObject data2 = new JSONObject();
 data2.put("id", "2");
 data2.put("name", "John");

JSONArray jsonArray = new JSONArray();// this is Json Array

jsonArray.put(data1);
jsonArray.put(data2);

注意:看起来Json不合适。请使用在线json验证器检查并更改它

我猜Gupta先生在尝试以这种方式创建JSONArray时,指的是编译错误:

JSONObject jsonObj = new JSONObject(jsonString);
JSONArray jsonArray = new JSONArray(jsonObj.getJSONArray("results"));
Android Studio给出了以下提示:


调用需要API级别19当前最小值为JSONArray=new-JSONArraystringJsonArray//在api 19以下不可用

要使用它,有一个技巧

String str = "[1,2,3,4]"; //example string.

String json = "{\"data\":" + str + "}";  //this is trick.

JSONObject obj = new JSONObject(json);

JSONArray array = obj.getJSONArray("data"); 

什么在api级别19之前不可用?org.json.JSONArray在api级别1上可用。您会遇到哪种错误?你能用一些代码或日志来详细说明你的问题吗?我想只有删除函数才适用于API 19及以上版本。你救了我一命,伙计!
String str = "[1,2,3,4]"; //example string.

String json = "{\"data\":" + str + "}";  //this is trick.

JSONObject obj = new JSONObject(json);

JSONArray array = obj.getJSONArray("data");