java中的JSON数据转换方法fastjson
1 maven工程引入fastjson
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.wujiang.test</groupId> <artifactId>test</artifactId> <version>1.0-SNAPSHOT</version> <properties> <fastjson_version>1.2.28</fastjson_version> </properties> <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson_version}</version> </dependency> </dependencies> </project>
2 类中引入fastjson包
import com.alibaba.fastjson.JSON;
3 使用fastjson
主要用的有两个方法JSON.parseObject和JOSN.toString
JSON.parseObject有很多的方法重载,常用的是这两个
List<String> filePaths = (strJson == null) ? new ArrayList<>() : JSON.parseObject(strJson, new TypeReference<List<String>>(){});
String jsonString = "{name:'Antony',age:'12',sex:'male',telephone:'88888'}"; Staff staff = jsonString == null ? new Staff() : JSON.parseObject(jsonString, Staff.class);
在JSON.parseObject 的时候,会去填充名称相同的属性。对于Json字符串中没有,而model类有的属性,会为null;对于model类没有,而Json字符串有的属性,不做任何处理。
JSON.toJSONString
String strJson = JSON.toJSONString(this.filePaths);
refer:https://blog.csdn.net/antony9118/article/details/71023009