Hugo Gao 2016-07-25 05:21 采纳率: 45.7%
浏览 1157
已采纳

新人求助,这一段JSON如何用java解析?

 {
  "results": [{
    "location": {
      "id": "WX4FBXXFKE4F",
      "name": "北京",
      "country": "CN",
      "path": "北京,北京,中国",
      "timezone": "Asia/Shanghai",
      "timezone_offset": "+08:00"
    },
    "daily": [{                         //返回指定days天数的结果
      "date": "2015-09-20",             //日期
      "text_day": "多云",               //白天天气现象文字
      "code_day": "4",                  //白天天气现象代码
      "text_night": "晴",               //晚间天气现象文字
      "code_night": "0",                //晚间天气现象代码
      "high": "26",                     //当天最高温度
      "low": "17",                      //当天最低温度
      "precip": "0",                    //降水概率,范围0~100,单位百分比
      "wind_direction": "",             //风向文字
      "wind_direction_degree": "255",   //风向角度,范围0~360
      "wind_speed": "9.66",             //风速,单位km/h(当unit=c时)、mph(当unit=f时)
      "wind_scale": ""                  //风力等级
    }, {
      "date": "2015-09-21",
      "text_day": "晴",
      "code_day": "0",
      "text_night": "晴",
      "code_night": "0",
      "high": "27",
      "low": "17",
      "precip": "0",
      "wind_direction": "",
      "wind_direction_degree": "157",
      "wind_speed": "17.7",
      "wind_scale": "3"
    }, {
    }],
    "last_update": "2015-09-20T18:00:00+08:00" //数据更新时间(该城市的本地时间)
  }]
}

如果我想得到name:北京 该怎么写java代码呢?

  • 写回答

6条回答 默认 最新

  • ai2018 2016-07-25 05:54
    关注
    package com.six;
    import java.util.List;
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    
    public class JSONParse {
    
        private static String jsonString = "{\"results\":[{\"location\":{\"id\":\"WX4FBXXFKE4F\",\"name\":\"北京\",\"country\":\"CN\",\"path\":\"北京,北京,中国\",\"timezone\":\"Asia/Shanghai\",\"timezone_offset\":\"+08:00\"},\"daily\":[{\"date\":\"2015-09-20\",\"text_day\":\"多云\",\"code_day\":\"4\",\"text_night\":\"晴\",\"code_night\":\"0\",\"high\":\"26\",\"low\":\"17\",\"precip\":\"0\",\"wind_direction\":\"\",\"wind_direction_degree\":\"255\",\"wind_speed\":\"9.66\",\"wind_scale\":\"\"},{\"date\":\"2015-09-21\",\"text_day\":\"晴\",\"code_day\":\"0\",\"text_night\":\"晴\",\"code_night\":\"0\",\"high\":\"27\",\"low\":\"17\",\"precip\":\"0\",\"wind_direction\":\"\",\"wind_direction_degree\":\"157\",\"wind_speed\":\"17.7\",\"wind_scale\":\"3\"},{}],\"last_update\":\"2015-09-20T18:00:00+08:00\"}]}";
    
        public static void main(String[] args) {
            JSONObject json = JSON.parseObject(jsonString);
            JSONArray jsonArray = json.getJSONArray("results");
            List<JSONObject> lists = JSONArray.parseArray(jsonArray.toJSONString(), JSONObject.class);
            for (JSONObject item : lists) {
                for (String key : item.keySet()) {
                    if (key.equals("location")) {
                        JSONObject location_json = item.getJSONObject("location");
                        // print the value of name
                        if (location_json.containsKey("name")) {
                            System.out.println(location_json.getString("name"));
                        }
                        return;
                    }
                }
            }
        }
    }
    

    maven dependency
    如果不是使用maven编译项目,请手动引入com.alibaba.fastjson依赖包

    <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.7</version>
    </dependency>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算