【发布时间】:2015-11-28 13:28:34
【问题描述】:
我正在使用 Gson 解析 json,但我正在努力处理我得到的数据。这是我无法控制的 API (openFDA) 的一部分,因此更改它可能不是一种选择。
这是我正在努力解决的 json:https://api.fda.gov/device/event.json?search=device.generic_name:generator&limit=10
有些字段不一致,例如remedial_action。有时会这样:
"remedial_action": [
"Recall"
]
在其他类似的结果中:
"remedial_action": ""
所以它要么是一个数组,要么是一个纯字符串。有没有办法处理这个?如果在 Gson 中不可能,还有其他可以提供帮助的 json 解析库吗?
我创建了我的 pojos here 以防有人需要代码。从那里创建了一些文件,不想在这里发送垃圾邮件。如果需要,我可以添加它们。
更新:该错误已得到确认并计划修复。
【问题讨论】:
-
你的 POJO 是什么样子的,它的成员既是字符串又是数组?
-
它有一个,但是当它看到另一个类型的结果时它当然会窒息。
-
类的单个 java 成员不能既是字符串又是字符串数组。您需要有某种包含对象作为成员。
标签: java json parsing alternating