如图,Gson解析json的时候,一个Key对应的value有两种情况,怎么解析?

{
    "article":[
    {
        "id":80489,
        "group_id":80489,
        "reply_id":80489,
        "user":"heamon7",
        "post_time":1405250835
    },
    {
        "id":80800,
        "group_id":80800,
        "reply_id":80800,
        "user":{"id":"Aprilcxn","user_name":"April"},
        "post_time":1437010423
     }
    ]
}

代码中user对应的value有两种情况,一种是String,一种是object,这种应该利用Gson怎么解析?

阅读 9.4k
2 个回答
  "article":[]
  这是一个键值对,键是“article”,值是一个数组。通过键来获取数组,然后遍历循环数组,可以解析出数据。
JsonObject jsonObject = new Gson().fromJson(字符串);
JsonArray jsonArray = jsonObject.get("article").getAsJsonArray();

这个不叫一个 Key 有两个 Value ,它只有一个值,这个值是一个对象,这个对象又有两个属性,一个是 id 一个是 user_name。用 Gson 解析时,如果需要解析到 JavaBean 里,则需要 user 这个属性是一个拥有 id 和 userName 的对象。