【问题标题】:Create a JSONArray创建一个 JSONArray
【发布时间】:2012-11-07 11:26:22
【问题描述】:

如何创建 JSONArray,因为创建 JSONObject 非常简单:

JSONObject j = new JSONObject();
j.put("key",value);

现在我可以在 JSONObject 中放入另一个字符串,或者 JSONObject 的字符串表示形式。

但是如何创建 JSONArray 并将其插入 JSONObject?

【问题讨论】:

标签: java android json


【解决方案1】:

但是如何创建 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");

【讨论】:

    【解决方案2】:

    你可以这样做:

    String[] data = {"stringone", "stringtwo"};
    JSONArray json = new JSONArray(Arrays.toString(data));
    

    或者,创建一个 JSONArray 对象并使用 put 方法添加您想要的任何字符串。要输出结果,只需使用 toString() 方法即可。

    【讨论】:

    • 你为什么将List 传递给 JSONArray 的构造函数?它应该只接受String
    • 我无法通过这个解决我的问题,所以我使用了 JSONArray json = new JSONArray(Arrays.toString(array));
    【解决方案3】:

    你为什么不用 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);
    

    【讨论】:

      猜你喜欢
      • 2016-08-06
      • 1970-01-01
      • 1970-01-01
      • 2016-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多