Java解析Json数据

这篇博客介绍了Java解析JSON的基本概念和方法,作者通过实例展示了如何使用谷歌的JSON解析包处理JSON数据,分享了从今日头条获取并解析天气数据的过程,适合编程初学者阅读。

​从大一下学期到现在,学了挺久的后台了。从0到现在,一点一点摸索学习的,学习进度慢加上后台乏味枯燥。中途也没学过一段时间,当是看到学习成果的时候,就感觉又充满活力。我的第一篇博客,希望能给编程初学者带来一些帮助。接下来给是我个人对Java解析Json的看法。


  1.  什么是Json呢?它就是一对一对的键值对,有它自身的格式要求。
  • 数据在 名称/值对 中;
"firstName" : "John"

 

  • 数据由逗号分隔;
  • 花括号保存对象(Object);
    { "firstName":"John" , "lastName":"Doe" }

     

  • 方括号保存数组(Array);(数组可包含多个对象)
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
  1. 上面呢我们也解释了什么是Json数据,接下来呢。我们要怎么去解析这个数据。
  2. 目前用的最广泛的数据交换格式有两种,一种是Xml ;另一种就是Json。这两种的区别我就不解释了,感兴趣的可以自行百度。我从今日头条获取了一个天气Json数据(这里我用厦门的天气),如下图:

然后我把获取到的JSON文件,在Idea中创建了一个test.json文件。

{
  "message": "success",
  "data": {
    "ip": "",
    "weather": {
      "dat_condition": "\u6674",
      "dat_low_temperature": 17,
      "wind_direction": "\u4e1c\u5317\u98ce",
      "high_temperature": 23,
      "low_temperature": 18,
      "current_time": 1542076734,
      "tomorrow_weather_icon_id": "0",
      "dat_high_temperature": 24,
      "forecast_list": [
        {
          "wind_direction": "\u4e1c\u5317\u98ce",
          "high_temperature": "23",
          "weather_icon_id": "0",
          "condition": "\u6674",
          "date": "2018-11-13",
          "wind_level": "4-5",
          "low_temperature": "18"
        }
      ],
      "wind_level": 2,
      "dat_weather_icon_id": "0",
      "update_time": "2018-11-13 10:30:08",
      "day_condition": "\u6674",
      "night_condition": "\u6674",
      "tomorrow_quality_level": "\u4f18",
      "moji_city_id": 1665,
      "city_name": "\u53a6\u95e8",
      "aqi": 23,
      "tomorrow_condition": "\u6674",
      "current_condition": "\u591a\u4e91",
      "tomorrow_low_temperature": 17,
      "hourly_forecast": [
        {
          "temperature": "19",
          "hour": "9",
          "wind_direction": "NE",
          "weather_icon_id": "2",
          "wind_level": "24",
          "condition": "\u9634"
        }

      ],
      "current_temperature": 20,
      "weather_icon_id": "1",
      "quality_level": "\u4f18",
      "tomorrow_high_temperature": 24,
      "tomorrow_aqi": 36
    },
    "city": "\u53a6\u95e8"
  }
}

之后创建一个Json.java文件来解析,这个天气的数据。我用的是谷歌的JSON解析包。(我的

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值