首页 > 其他分享 >Springboot中报错nested exception is com.alibaba.fastjson.JSONException: can not cast to JSONObject.

Springboot中报错nested exception is com.alibaba.fastjson.JSONException: can not cast to JSONObject.

时间:2023-02-26 11:01:11浏览次数:45  
标签:fastjson serv exception comProportion numofComplaint complaintType json 报错 数组

首先说明一下json的格式区别。

先讲一下什么是json

  • 数据在名称/值对中
  • 数据由逗号 , 分隔
  • 使用斜杆 \ 来转义字符
  • 大括号 {} 保存对象
  • 中括号 [] 保存数组,数组可以包含多个对象

对象:大括号 {} 保存的对象是一个无序的名称/值对集合。一个对象以左括号 { 开始, 右括号 } 结束。每个"键"后跟一个冒号 :,名称/值对使用逗号 , 分隔。

数组:中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。

 

 因此json分为json对象与json数组的形式

简单的对象{ "name":"菜鸟教程" , "url":"www.runoob.com" }

简单的数组(也就是对象的集合)

[{"comProportion":0.0011,"complaintType":"others ","numofComplaint":9},{"comProportion":0.0019,"complaintType":"spec_passenger_serv","numofComplaint":17},{"comProportion":0.0029,"complaintType":"oversold","numofComplaint":26},{"comProportion":0.0063,"complaintType":"air_serv","numofComplaint":60},{"comProportion":0.0116,"complaintType":"member_serv","numofComplaint":110},{"comProportion":0.0382,"complaintType":"customer_serv","numofComplaint":360},{"comProportion":0.0424,"complaintType":"baggage_service","numofComplaint":409},{"comProportion":0.0476,"complaintType":"checkin_boarding","numofComplaint":449},{"comProportion":0.1453,"complaintType":"epde_relat","numofComplaint":1372},{"comProportion":0.1698,"complaintType":"ticket_serv","numofComplaint":1605},{"comProportion":0.5328,"complaintType":"irre_air_serv","numofComplaint":5035}]

而这里报错的原因是因为我虽然使用的是阿里的fastjson工具包

但是使用的方法错误

json最外层符号[]是数组,应该用JsonArray来解析:

JSONArray jsona =(JSONArray)JSONArray.parse(jsonn);

json最外层是{},就用JsonObject来解析:

JSONObject js=JSON.parseObject(json);

标签:fastjson,serv,exception,comProportion,numofComplaint,complaintType,json,报错,数组
From: https://www.cnblogs.com/zhanghua-lijie/p/17156279.html

相关文章