无法将JsonObject转换为JsonArray

时间:2017-08-08 12:07:04

标签: android json android-json

我在将jsonObject转换为jsonArray

时遇到问题

这是我的Json字符串:

***Setting***
Library     Screenshot

*** Test Cases ***

My Test Case

Screenshot.Set Screenshot Directory /home/richard
Take Screenshot     my_image.jpg

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

但是当我尝试将它放入JSONArray时,它会给我这个例外:

  

org.json.JSONException:Value   [{"的firstName":"超级"" lastName的":"用户"" EMPID":&#34 ;管理员"" PSWD":" 056118220216006084031189006230102079245048053200""位置":空," contactNo":空," backupCode":空,"电子邮件":" 0"" hcode":空," empStatus":" A& #34;" createdBy":空," dateAdded":空," updatedBy":空," dateUpdated":空,&# 34;配置文件ID":空," locationsID":空,"前者":空," secContact":空," NoOfAttempts" :空,"工作站":空}]   在无法转换java.lang.String类型的GetAllEmployeeResult   到JSONArray

以下是我的代码:

{"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}]"}

* buffer hold JSON string

由于

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

你可以像这样改变它

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

答案 2 :(得分:0)

使用Java API进行JSON处理,要将JsonObject转换为JsonArray,也可以在下面尝试。

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