Java解析OneJSON格式数据

当我们通过API调取OneNET云平台数据时,往往会返回一段JSON格式的数据,并不能直接使用,必须通过解析才能得到值。

以调取OneNET云平台项目的温湿度数据为例:

会获得以下数据返回:

{"msg":"succ","code":0,"data":[{"identifier":"humi","data_type":"int32","name":"当前湿度","time":1716021194684,"value":"58","access_mode":"只读"},{"identifier":"temp","data_type":"int32","name":"当前温度","time":1716021194684,"value":"25","access_mode":"只读"}],"request_id":"d0596f8c80004683a27d4663dc1c5e8e"}

但是这样的数据对初学者来说很麻烦,不知道如何解析,网上有许多例子但是没有针对性。

本文提供了下面的方法。借助FastJson包,成功获取温度和湿度数值,供初学者参考:

代码中的result即为从云平台获取的String类型的字符串:

                //数据解析返回
                JSONObject jsonObject = JSON.parseObject(result);
                System.out.println("jsonobj="+jsonObject);
                JSONArray array=jsonObject.getJSONArray("data");

                //解析获得湿度值
                JSONObject jsonObject2=array.getJSONObject(0);
                System.out.println("data内的第一组数据="+jsonObject2);
                String hum=jsonObject2.getString("value");
                System.out.println("湿度value="+hum);

                //解析获得温度值
                JSONObject jsonObject3=array.getJSONObject(1);
                System.out.println("data内的第二组数据="+jsonObject3);
                String tem=jsonObject3.getString("value");
                System.out.println("温度value="+tem);

代码运行结果:

关于如何获取JSON数据以及解析JSON所使用的 FastJSON.jar包请阅读笔者的另一篇文章:

基于ESP32和OneNET的温湿度物联网系统icon-default.png?t=N7T8http://t.csdnimg.cn/rE55a


谢阅读!

获取单片机软硬件PCB工程设计帮助与成品服务可通过:

闲鱼搜索用户“辉睿物联网

电子邮件:lijiahui.shine@foxmail.com

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

善点灯者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值