andoird开发中,关于使用GSON解析JSON时,怎么写实体类的问题?

我获取了一个天气api发回的json数据,可是不会解析了,是用于android开发的。
比如这段json数据:
{
"HeWeather data service 3.0": [

{
  "aqi": {
    "city": {
      "aqi": "49",
      "co": "0",
      "no2": "19",
      "o3": "120",
      "pm10": "49",
      "pm25": "22",
      "qlty": "优",
      "so2": "2"
    }
  },
  "basic": {
    "city": "北京",
    "cnty": "中国",
    "id": "CN101010100",
    "lat": "39.904000",
    "lon": "116.391000",
    "update": {
      "loc": "2015-08-28 19:44",
      "utc": "2015-08-28 11:46"
    }
  }
}

]
}
特别是这个"HeWeather data service 3.0",不是说类里面的属性名必须跟Json字段里面的Key是一模一样的才能保证解析正确么,可是这个"HeWeather data service 3.0"并不能作为java的成员变量名字。怎么办呢?
最好能给出这个的实体类。

阅读 4.9k
3 个回答

可以自定义@SerializedName 修改字段名的映射,或者直接简单点就直接把“HeWeather data service 3.0” 那段去掉或者替换为一个简单的单词再用Gson解析

studio下,我推荐gsonformart,自动生成,在设置里改成楼上的做法

你可以用map啊,key是 HeWeather data service 3.0 ,后面的值就是value。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题