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

首先说明一下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);

posted @   好吗,好  阅读(1738)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示