使用 google GSON 解析特定 JSON
我需要解析一个 JSON 项目,其定义如下:
{
...
"itemName": ""
...
}
或者
{
...
"itemName": {
}
...
}
基本上,如果没有值,我正在读取的提要将 itemName
定义为空字符串,否则它是一个常规 JSON 对象我可以很好地解析。
我相信这就是导致我遇到的 GSON 错误的原因,尽管我可能是错的。
如何解析这样的 JSON 提要,其中包括像上面所示定义的字段,而不会导致 GSON 错误?或者我如何抑制此错误并继续解析?
这是 logcat:
ERROR/AndroidRuntime(32720): Caused by: com.google.gson.JsonParseException: Expecting object found: ""
我正在使用 AdMob 4.0.4 jar 中包含的 GSON
I need to parse a JSON item which could be defined as follows:
{
...
"itemName": ""
...
}
or
{
...
"itemName": {
}
...
}
Basically, the feed i am reading from defines itemName
as an empty string if there is no value, otherwise it is a regular JSON object which i can parse fine.
I believe this is what is causing the GSON error i am experiencing, although i may be wrong.
How can I parse such a JSON feed including fields defined like i have shown above, without causing a GSON error? Or how can i suppress this error and move on parsing?
here is the logcat:
ERROR/AndroidRuntime(32720): Caused by: com.google.gson.JsonParseException: Expecting object found: ""
I am using the GSON included in the AdMob 4.0.4 jar
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要为此实现一个自定义解串器。下面是一个例子。
当然,这可以很容易地更改为返回空的
Inner
实例而不是null
,具体取决于所需的内容。You'd need to implement a custom deserializer for this. Following is one example.
This could easily be changed to return an empty
Inner
instance instead ofnull
, depending on what's desired, of course.