我目前正在使用Gson在Java中编写RSS提要解析器.我正在将RSS'XML转换为JSON,然后使用Gson将JSON反序列化为Java POJO(有点迂回,但有一个原因).对于下面列出的Feed#1(BBC)进行反序列化,一切都运行正常,但对于下面列出的Feed#2(NPR),我开始抛出异常.
我想我已经确定了问题,但我不确定如何解决它:
问题出现在这两个RSS源(例如):
对于这些不同的RSS源,称为"guid"的字段作为a)具有2个字段的对象(如在BBC RSS Feed中)或b)字符串(如在NPR RSS Feed中)返回.
以下是相关JSON的一些释义版本:
BBC RSS Feed
// is returning 'guid' as an object
"item" :
[
{
// omitted other fields for brevity
"guid" : {
"isPermalink" : false,
"content" : "http:\/\/www.bbc.co.uk\/news\/uk-england-33745057"
},
},
{
// ...
}
]
Run Code Online (Sandbox Code Playgroud)
NPR RSS Feed
// is returning 'guid' as a string
"item" :
[
{
// omitted other fields for brevity
"guid" : …Run Code Online (Sandbox Code Playgroud)