我需要使用JSONArray发送数据,这是不可用的beore android api level 19. Json对象就像 -
myJob = {"data1":['a','b','c'],
"data2":[1,2,3]
}
我应该对以前的API级别使用什么?
答案 0 :(得分:3)
我推测MR。 Gupta在尝试以这种方式创建JSONArray时指的是编译错误:
JSONObject jsonObj = new JSONObject(jsonString);
JSONArray jsonArray = new JSONArray(jsonObj.getJSONArray("results"));
Android Studio提供了这个提示:
调用需要API级别19(当前最小值<&lt; 19)
以下是构建JSONArray的正确方法之一:
JSONArray resultsJsonArr = moviesJsonObj.getJSONArray("results");
答案 1 :(得分:1)
您可以在API 19下使用Json Object和Json Array。
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验证器http://json.parser.online.fr/
进行检查和变更答案 2 :(得分:0)
JSONArray = new JSONArray(stringJsonArray); //无法在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");