Json数据解析之Gson

报错: Caused by: java.lang.IllegalStateException: Expected a double but was BEGIN_OBJECT at line 1 column 101 path $.data.datastreams[0].datapoints[0].value

原因:json数据解析出错。

解决:JSON数据分为两种----对象和数组,对象用{}括起来,数组用[]括起来。我是通过Gson进行数据解析的,根据上报的值,得知我的value是一个对象,需要在原有解析类的基础上增加一个value的类,理清了关系后自己重新写了gson数据解析的类,逻辑关系整理起来容易混乱,也可以直接根据上报的数据,然后通过json转换工具直接生成所需要的类(在搞懂的基础上,更推荐这种方式,节省时间。),还要注意在主类(获取json解析数据的类)中更改对应的数据获取方式。更改后我在主类中做出的改变:watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg55qE5b-D5a2Q,size_15,color_FFFFFF,t_70,g_se,x_16 , watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg55qE5b-D5a2Q,size_8,color_FFFFFF,t_70,g_se,x_16

 拓展:Json解析方式之一是通过Gson,Gson是Google提供的用来在Java对象和Json数据之间进行映射的Java类库,可以将Java对象和Json数据进行相互转换,使用时需要导入gson的.jar包,放在lib文件夹下,导入后记得“Add as library”。

Json数据分为两种----对象和数组,对象用{}括起来,数组用[]括起来。Json数组要用List保存。

解析Json对象:Gson gson = new Gson();User user=gson.fromJson(jsonData,User.class);

解析Json数组:Gson gson=new Gson();List<User> userList=gson.fromJson(jsonData, new TypeToken<User>(){}.getType());

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值