添加URL
相关文章推荐
< version > 1.2.33 </ version > </ dependency >

听闻FastJson使用特别的算法,速度非常快,甚至快过Google的protobuf,所以选择使用FastJson来做Json的处理,具体产生Json字符串的代码如下:

List<Student> studentList = new ArrayList<Student>();
Student student1 = new Student();
student1.setId(1);
List<String> resultNumbers = new ArrayList<String>();
resultNumbers.add("12");
resultNumbers.add("23");
student1.setResultNumber(resultNumbers);
Student student2 = new Student();
student2.setId(1);
List<String> resultNumbers2 = new ArrayList<String>();
resultNumbers2.add("45");
resultNumbers2.add("56");
student2.setResultNumber(resultNumbers);
studentList.add(student1);
studentList.add(student2);
Map<String, Object> map = new HashMap<String, Object>();
map.put("count", 2);
map.put("studentList", studentList);
String json = JSON.toJSONString(map, true);

此时的Json字符串如下所示:
这里写图片描述

可以看见,这个json字符串内有一个内置的List

出现题目的cast Exception的解析方式如下:

HashMap parseMap = JSON.parseObject(json, HashMap.class);
List<Student> studentList1 = (List<Student>) parseMap.get("studentList");
for(Student student : studentList1){ // Exception
    System.out.println(student.getId() + " ");

debug发现,其实那是一个JsonObject

解决方法:
用下面这种方式来解析List

List<Student> studentList1 = JSON.parseArray(JSON.parseObject(json).getString("studentList"), Student.class);
//字符串为:"{\"a\":\"1\"}" String loginResInfo ="\"{\\\"a\\\":\\\"1\\\"}\""; System.out.println("原始字符串:" + loginResInfo); JSONObject jsonObje... 最近在工作中发行限了一个问题,当前是root用户,去编辑/etc/ssh/sshd_config 却提示没有权限修改。报错如”/etc/ssh/sshd_config” E212: 无法打开并写入文件。 问题思考 既然提示没有权限,又是root用户,看肯定是给该文件设置了特殊的权限。检查特殊权限设置: getfacl lsattr getfacl 结果正常 root@pts/1 $ getfacl /etc/ssh/sshd_config getfacl: Removing leading '/' from absolute path names # file: etc/ss
com.alibaba.fastjson.JSONArray cannot be cast to com.alibaba.fastjson.JSONObject json中类型转换问题,[{}]是错误的格式。如下面我的写法: JSONObject.parseObject("[{\"type\":\"slider\",\"show\":\"true\",\"start\":1,\"e
&lt;dependency&gt;     &lt;groupId&gt;com.alibaba&lt;/groupId&gt;     &lt;artifactId&gt;fastjson&lt;/artifactId&gt;     &lt;version&gt;1.2.33&lt;/version&gt; &lt;/dependency&g
restTemplate远程调用接口,debug时数据已经都拿到了,可是死活就是在最后返回值的时候报can not cast to JSONObject 饺贼最开始执迷不悔,以为是postman里我的参数格式写错了,一直纠结到底要不要加[ ]。因为他当时报的还有一个syntax error,提醒我改数组符。在这浪费了好一段时间后,我去到封装的参数实体类里看了看JSON的转换格式,这里用的是parseObject private void assignProperties(String key) { <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> 1 @PostMapping("/save-files") 2 public void addFiles(@RequestBody List<AddFileRecordRequestDto> fileRecords) 3 { 4 LoginInfo loginInfo=se...
有个需求,需要在JavaBean里面嵌入一个List<Bean>,包含泛型。但在转换之后,调用List的数据就开始抛异常了。下面是Bean的示例代码: public class Bean1 { public String name; pu...
nacos致力于发现、配置和管理为服务,能快速实现动态服务发现、服务配置、服务元数据和流量管理 nacos支持基于NDS和基于RPC得服务发现 nacos支持在Spring、Spring Boot、Spring Cloud、Docker、Dubbo、K8s、Sync生态得使用。 1、Nacos依赖java环境,例jdk1.8 下载地址下载地址 解压后进入bin目录,双击startup.cmd即可启...
    最近因为项目需求,对MSCKF_vio的论文和代码进行了一番研读,现将学习过程记下。     MSCKF_vio是一种基于多状态约束卡尔曼滤波器的双目视觉里程计。其中多状态约束是指将多帧图像的相机位姿加入卡尔曼状态向量中,在进行卡尔曼增益之前通过多帧图像之间的约束进行最小二乘优化来估计特征点的空间位置,然后根据优化后的特征点空间位置来约束状态向量。     代码中主要有三个文件比较重要:s...
Could not resolve bean definition resource pattern [classpath:spring/applicationContext-*.xml] m0_56414641: 硬核,解决了! vim中ctrl+z的问题解决方案 Deep Learning小舟: 学到了,点赞支持,一起加油 单链表中实现O(1)时间复杂度删除节点 i学学学学学习: 判断一下是否存在后续节点,如果存在则按照楼主的方法;如果不存在,直接置空=null 清晰理解红黑树的演变---红黑的含义 感谢感谢 !真的有帮到
 
推荐文章