fastJSON的入门级使用
2019-04-26 15:21
253 查看
版权声明:Song From SCU 转载须指明出处 https://blog.csdn.net/qq_28683865/article/details/89552624
一、FastJson的用法
将符合json格式的字符串转换为json对象或者是json数组
二、测试用例
需要的jar包
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject;
1.JSON.parseObject(String …,Class T)
測試代碼:
@Test public void myTest(){ String jsonString="{'name':'小明','age':'15','school':'scu'}"; JSONObject jsonObject = JSON.parseObject(jsonString, JSONObject.class); System.out.println(jsonObject); }
測試結果:
2.JSON.parseArray(String …)
測試代碼
@Test public void myTest() { String jsonMessage = "[" + "{'num':'1', '外语':88, '历史':65, '地理':99, 'object':{'k1':'1111','k2':'2222','k3':'3333'}}," + "{'num':'2', '外语':58, '历史':45, '地理':19, 'object':{'k1':'2222','k2':'2222','k3':'3333'}}," + "{'num':'3', '外语':98, '历史':62, '地理':39, 'object':{'k1':'3333','k2':'2222','k3':'3333'}}" + "]"; JSONArray jsonArray = JSON.parseArray(jsonMessage); for(int i=0;i<jsonArray.size();i++){ //遍历每个json对象 JSONObject jsonObject = jsonArray.getJSONObject(i); System.out.println("第"+i+"个JsonObject对象为: "+ jsonObject); //获取属性对应的值,返回值类型为Object Object englishScore = jsonObject.get("外语"); System.out.println("英语成绩:"+englishScore); //获取属性对应的值,返回值类型为字符串 String earthScore = jsonObject.getString("地理"); System.out.println("地理成绩:"+earthScore); //获取属性对应的值,返回值类型为JSONObject JSONObject jsonObj = jsonObject.getJSONObject("object"); System.out.println(jsonObj); //又可以继续对JsonObject对象继续进行操作 Object v1 = jsonObj.get("k1"); System.out.println("k1的值为:"+v1); } }
測試結果:
三、fastJson和具体JavaBean的结合
1.创建person.class
import java.util.Date; public class person { private String name; private int age; private String school; private Date date; public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSchool() { return school; } public void setSchool(String school) { this.school = school; } @Override public String toString() { return "person{" + "name='" + name + '\'' + ", age=" + age + ", school='" + school + '\'' + ", date=" + date + '}'; } }
2、测试阶段
(1)、json字符串除了包含person.class所有属性,还包含address属性
测试代码:
@Test public void TestJavaBean(){ //person01里面除了包含person.class所有属性,还包含address属性 String person01 = "{'name':'李华','age':'15','school':'scu','date':'2019-04-26','address':'四川省成都市一环路'}"; person perObj01 = JSON.parseObject(person01, person.class); System.out.println("fastJson自动映射对应属性,多余的属性默认会被忽略:"); System.out.println("perObj01: "+perObj01); }
测试结果:
(2)、json字符串只包含了部分person.class所有属性,此外包含些额外属性属性
测试代码:
@Test public void TestJavaBean(){ String person02 = "{'name':'张三','age':'18','date':'2019-04-26','address':'四川省成都市一环路','interest':'足球'}"; person perObj02 = JSON.parseObject(person02, person.class); System.out.println("fastJson自动映射对应属性,没找到的属性为空:"); System.out.println("perObj02: "+perObj02); }
测试结果:
(3)、json字符串里面的属性名和类里面的属性名不一样:
修改javaBean里面的person.class:
public class person { @JSONField(name = "myName") private String name; @JSONField(name = "sage") private int age; @JSONField(name = "college") private String school; @JSONField(name = "time") private Date date;
测试代码:
@Test
public void TestJavaBean(){
String person03 = "{'myName':'王五','sage':'21','college':'scu','time':'2019-04-26'}"; System.out.println("fastJson会严格按照注解自动找寻映射的属性,这时候字符串属性值要和注解一致而不是和java类一致:"); System.out.println("person03: "+person03); }
测试结果:
注意:
字符串可能不符合json的格式,在使用fastjson之前一定要确保你的字符串符合json格式!
提供一个网站可以快速查询指定字符串是否符合json字符串,链接地址:http://www.bejson.com/
相关文章推荐
- fastjson使用入门
- JSon使用入门
- 使用fastjson遇到的问题
- fastjson 使用教程
- Json入门--基础定义及使用
- fastjson 使用时遇到的问题
- SpringMVC杂记(1) 使用阿里巴巴的fastjson
- 记一次fastJson使用的踩坑经历
- JSON数据之使用Fastjson进行解析(一)
- 使用fastjson导致主键自增列错误 Failed to insert row into content:
- 使用FastJSON,将对象或数组和JSON串互转
- FastJson 的使用
- alibaba fastjson的简单使用!
- fastjson 使用方法
- SpringMVC 使用FastJSON 406错误解决
- FastJson的使用
- VC下jsoncpp的使用入门(转)
- dhtmlxgrid 使用json数据 入门
- JAVA-使用FastJson解析复杂JSON数据
- json教程从入门到使用