【发布时间】:2012-11-07 11:26:22
【问题描述】:
如何创建 JSONArray,因为创建 JSONObject 非常简单:
JSONObject j = new JSONObject();
j.put("key",value);
现在我可以在 JSONObject 中放入另一个字符串,或者 JSONObject 的字符串表示形式。
但是如何创建 JSONArray 并将其插入 JSONObject?
【问题讨论】:
如何创建 JSONArray,因为创建 JSONObject 非常简单:
JSONObject j = new JSONObject();
j.put("key",value);
现在我可以在 JSONObject 中放入另一个字符串,或者 JSONObject 的字符串表示形式。
但是如何创建 JSONArray 并将其插入 JSONObject?
【问题讨论】:
但是如何创建 JSONArray 并将其插入 JSONObject?
您可以像创建 JSONObject 一样创建 JSONArray。
例如:
JSONArray myArray = new JSONArray();
JSONObject j = new JSONObject();
j.put("key",value);
j.put("array",myArray);
您可以通过键名获取 String 或 JSONObject 的值或任何值。例如:
JSONArray myArray = objJson.getJSONArray("array");
【讨论】:
你可以这样做:
String[] data = {"stringone", "stringtwo"};
JSONArray json = new JSONArray(Arrays.toString(data));
或者,创建一个 JSONArray 对象并使用 put 方法添加您想要的任何字符串。要输出结果,只需使用 toString() 方法即可。
【讨论】:
List 传递给 JSONArray 的构造函数?它应该只接受String。
你为什么不用 Gson 库,它很容易将任何对象转换为 json 数组,json 对象
下载Gson库,然后使用like
Gson gson=new Gson();
String json=gson.toJson(object);
如果 Object 是 List 对象,它将创建 json 数组
Gson gson = new Gson();
reverse parsing for array --
listObject = gson.fromJson(json,
new TypeToken<List<ClassName>>() {
}.getType());
对于单个对象
object = gson.fromJson(json, ClassName.class);
【讨论】: