Fastjson依赖
com.alibaba
fastjson
1.2.47
FastJson下载地址:https://github.com/alibaba/fastjson
json格式
json数组格式:
对象数组格式:
[
{alt: ‘[坏笑]’, src:‘http://img.t.sinajs.cn/t4/appstyle/expression/ext/normal/50/pcmoren_huaixiao_org.png’},
{alt: ‘[舔屏]’, src:‘http://img.t.sinajs.cn/t4/appstyle/expression/ext/normal/40/pcmoren_tian_org.png’},
{alt: ‘[污]’, src: ‘http://img.t.sinajs.cn/t4/appstyle/expression/ext/normal/3c/pcmoren_wu_org.png’}
]
json对象格式:
{
“ID”: 1001,
“name”: “张三”,
“age”: 24
}
因为之前在开发中遇到过这种json转换,当时用的是jackson,就觉得很麻烦,最近在写一个小项目时接触到Fastjson时,就觉得这个非常好用。
一般实际开发过程中,都是从前台拼接后传递过来的json字符串,下面测试就直接用的java字符串定义的json格式字符串(视情况而定)。
转换一定需要先添加依赖或者jar包才能使用。
把字符串json数组转为json格式数组取值:
String str = “[“张三”,“18”,“宜昌”]”;
JSONArray array = JSONArray.parseArray(str);
System.out.println(array.get(0));
System.out.println(array.get(1));
System.out.println(array.get(2));
System.out.println();
输出结果
字符串json对象数组转为json格式或者list对象
返回list集合对象时后面需要加上返回对象类
List array2 = JSONArray.parseArray(str1, User.class);
String str1 = “[” +
" {“name”: “张三”, “age”: 24, “city”: “宜昌”}," +
" {“name”: “李四”, “age”: 25, “city”: “宜昌”}," +
" {“name”: “王五”, “age”: 22, “city”: “宜昌”}" +
“]”;
JSONArray array1 = JSONArray.parseArray(str1);
System.out.println(array1.get(0).toString());
System.out.println(array1.get(1).toString());
System.out.println(array1.get(2).toString());
System.out.println();
List array2 = JSONArray.parseArray(str1, User.class);
for(int i = 0; i < array2.size(); i++) {
System.out.println(“姓名:”+array2.get(i).getName()+“, 年龄:”+array2.get(i).getAge()+“, 地址:”+array2.get(i).getCity());
}
输出结果
字符串json对象格式转为实体对象
String str2 = “{“name”: “张三”, “age”: 24, “city”: “宜昌”}”;
User user = JSONArray.parseObject(str2, User.class);
System.out.println(“姓名:”+user.getName()+“, 年龄:”+user.getAge()+“, 地址:”+user.getCity());
输出结果:
json字符串转为json格式
String str2 = “{“name”: “张三”, “age”: 24, “city”: “宜昌”}”;
JSONObject json = JSONObject.parseObject(str2);
String name = json.getString(“name”);
String age = json.getString(“age”);
String city = json.getString(“city”);
System.out.println(name);
System.out.println(age);
System.out.println(city);
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
学习分享,共勉
这里是小编拿到的学习资源,其中包括“中高级Java开发面试高频考点题笔记300道.pdf”和“Java核心知识体系笔记.pdf”文件分享,内容丰富,囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。同时还有Java进阶学习的知识笔记脑图(内含大量学习笔记)!
资料整理不易,读者朋友可以转发分享下!
Java核心知识体系笔记.pdf
中高级Java开发面试高频考点题笔记300道.pdf
架构进阶面试专题及架构学习笔记脑图
Java架构进阶学习视频分享
资料整理不易,读者朋友可以转发分享下!
Java核心知识体系笔记.pdf
[外链图片转存中…(img-yGtcWhs9-1711130063116)]
中高级Java开发面试高频考点题笔记300道.pdf
[外链图片转存中…(img-Z1Ryif6K-1711130063116)]
架构进阶面试专题及架构学习笔记脑图
[外链图片转存中…(img-WgKesJqw-1711130063116)]
Java架构进阶学习视频分享