如何使用Gson读取没有值的json?

时间:2015-09-01 09:06:48

标签: json gson

我用GSON库读了一个json文件。 我使用以下代码:

Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(uglyJSONString);
String prettyJsonString = gson.toJson(je);

一切正常,如果我的json具有所有值,但如果json中缺少某些值,例如以下json,则会出现异常。

com.google.gson.stream.MalformedJsonException: 
Expected value at line 1 column 217 path $.repeatInterval

{
  "key1": "a",
  "key2": "",
  "key3": 
}

使用GSON库时如何读取缺少值的json文件?

编辑: 无异常解决方案。添加" key3:""

{
  "key1": "a",
  "key2": "",
  "key3": ""
}

1 个答案:

答案 0 :(得分:1)

您的json无效,例如您可以在此站点上看到:http://jsonlint.com/据我所知,GSON将始终对无效的JSON抛出异常,这是预期的行为。 如果您可以创建该JSON,请至少尝试使用“”而不是空值以符合JSON格式。