0

我的 JSON 对象有一些空值 ("") 所以在转换它时会抛出错误。

这是我的 JSON

{
    "Animals": [
        {
            "id": 6140,
            "Name": ""
        },
        {
            "id": 6144,
            "Name": "Lion"
        }
    ]
}

我的代码:

JsonParser parser=new JsonParser();
JsonArray myarray=parser.parse(json).getAsJsonArray();

我得到的错误是

com.google.gson.stream.malformedjson异常

在将 JSON 对象解析为 JSONArray 时,如何将空字符串值转换为 null?

我希望最终结果是

[{id=6140, Name=null},{id=6144, Name="Lion"}] 
4

1 回答 1

-2

发生这种情况是因为您提供的 json 不是 json 数组,而是 json 对象。你应该做

    JsonParser json = new JsonParser();
    JsonObject myJsonObject = json.parse(json).getAsJsonObject();
    JsonArray jsonArray = myJsonObject.getAsJsonArray("Animals");
于 2018-01-28T04:13:47.577 回答