【问题标题】:Unable to Convert JsonObject to JsonArray无法将 JsonObject 转换为 JsonArray
【发布时间】:2017-08-08 12:07:03
【问题描述】:

我在将 jsonObject 转换为 jsonArray 时遇到问题

这是我的 Json 字符串:

{"GetAllEmployeeResult":"[{\"firstName\":\"Super\",\"lastName\":\"User\",\"empID\":\"admin\",\"pswd\":\"2031189006230102079245048053200\",\"position\":null,\"contactNo\":null,\"backupCode\":null,\"email\":\"0\",\"hcode\":null,\"empStatus\":\"A\",\"createdBy\":null,\"dateAdded\":null,\"updatedBy\":null,\"dateUpdated\":null,\"profileID\":null,\"locationsID\":null,\"former\":null,\"secContact\":null,\"NoOfAttempts\":null,\"workstation\":null}]"}

我已经用在线工具验证了这个json,它是有效的。

但是当我尝试将它放入 JSONArray 时,它给了我这个异常:

org.json.JSONException: 值 [{"firstName":"Super","lastName":"User","empID":"admin","pswd":"056118220216006084031189006230102079245048053200","position":null,"contactNo":null,"backupCode": null,"email":"0","hcode":null,"empStatus":"A","createdBy":null,"dateAdded":null,"updatedBy":null,"dateUpdated":null,"profileID ":null,"locationsID":null,"former":null,"secContact":null,"NoOfAttempts":null,"workstation":null}] 无法转换 java.lang.String 类型的 GetAllEmployeeResult 转 JSONArray

以下是我的代码:

JSONObject jObject = new JSONObject(buffer.toString());
JSONArray jArray = jObject.getJSONArray("GetAllEmployeeResult");

*缓冲区保存 JSON 字符串

谢谢

【问题讨论】:

    标签: android json android-json


    【解决方案1】:

    因为GetAllEmployeeResult 键的值是String,而不是JSONArrayJSONArray 周围有双引号。

    【讨论】:

      【解决方案2】:

      你可以这样改

      JsonArray array = new JsonArray(jObject.getString("GetAllEmployeeResult"));
      

      【讨论】:

      • 我已经做了,但是因为我的声望低于 15 所以没有显示出来
      【解决方案3】:

      使用Java API进行JSON处理,将JsonObject转为JsonArray,也可以试试下面的方法

      JsonArray array = Json.createArrayBuilder()
          .add(jObject)
          .build();
      

      【讨论】:

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