我正在和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以防有人需要代码。有一些文件是由它创建的,不想在这里发送垃圾邮件。如果需要,我可以添加它们。
更新:该错误已得到确认,并已安排修复。
答案 0 :(得分:2)
可以通过GSON使用TypeAdapter
。
以下是我将用于执行此操作的初始步骤:
RemedialAction
。TypeAdapter<RemedialAction>
。read()
和write()
方法并在其中创建逻辑。 注意:您可以自定义getRemedialAction()
,只为您提供有效的返回数组或字符串。