【问题标题】:Desearializing a JSON which comes with an empty field反序列化带有空字段的 JSON
【发布时间】:2011-03-30 11:10:06
【问题描述】:

我正在尝试像这样反序列化 JSON 对象:

public class Example { 
private String a; 
private int b; 
private SubDataExample c; 
//more fields, constructor, getters, etc
} 

public class SubDataExample{ 
private String d; 
private int e; 
//more fields, constructor, getters, etc 
} 

它在大多数情况下运行良好,但有时 SubData 不会带来任何 数据,我得到这样的 JSON:

{"a":"blabla", b:843849, c:""}

然后,GSON 失败,我得到一个异常。可以填 反序列化对象中的“c”字段为空?

我正在使用我没有创建的网络服务,所以我别无选择 关于更改必须反序列化的 JSON。

感谢您的帮助

非常感谢

【问题讨论】:

    标签: java json gson


    【解决方案1】:

    我希望如果没有SubDataExample,那么你应该得到

    { "a": "blabla", "b": 843849, "c": null }
    

    { "a": "blabla", "b": 843849 }
    

    【讨论】:

    • 你是对的。传入的 JSON 格式确实很糟糕,所以 Gson 显然失败了。
    • 所以,如果这是正确答案,你应该接受答案,然后点击“^”('这个答案很有用')。
    猜你喜欢
    • 1970-01-01
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-11
    相关资源
    最近更新 更多