【问题标题】:How to read a json without a value with Gson?如何使用 Gson 读取没有值的 json?
【发布时间】:2015-09-01 17:29:20
【问题描述】:

我使用 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": ""
}

【问题讨论】:

    标签: json gson


    【解决方案1】:

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

    【讨论】:

    • 谢谢。我的问题是,key3 应该是一个缺失的整数值。添加 "key3" : "" 就可以了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 2016-04-04
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多