检查作为 JSONObject 数组的字符串是否为空

checking if a string that is a array of JSONObject is empty

所以我收到了一个来自 api 调用的 json 对象。

在 json 对象中有一个字段可以保存 JSONObjects 数组

例如

{ "order":[]}

如何检查数组是否为空?

JSON简单库

JSONObject[] check = new JSONObject[0];

JSONObject g = new JSONObject();
g.put("test", check);

System.out.println(((List<JSONObject>)g.get("test")).size());

实际结果:错误

期望的结果:json[]

的大小

谢谢

您不能将 JsonObject 数组 (JSONObject[]) 转换为 JSONObject 列表 (List) - 它们是 2 个不同的 class,具有 2 个不同的层次结构。将其转换为 JSONObject[],因为现在它是一个数组而不是列表,所以使用长度,而不是 size()。

    JSONObject[] check = new JSONObject[0];

    JSONObject g = new JSONObject();
    g.put("test", check);

    //System.out.println(((List<JSONObject>) g.get("test")).size());
    System.out.println(((JSONObject[]) g.get("test")).length);