Maven依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>x.x.x</version>
</dependency>
重要的三个类
FastJson对于json格式字符串的解析主要用到了下面三个类:
- JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换
- JSONObject:fastJson提供的json对象 ,相当于Map < String, Object >
- JSONArray:fastJson提供json数组对象 ,相当于List< Object >
API
JSON格式字符串与JSONObject之间的转换
//json字符串-简单对象型
String JSON_OBJ_STR = "{"studentName":"lily","studentAge":12}";
(1)JSON类型字符串转换成JSON对象(反序列化)
JSONObject jsonObject = JSONObject.parseObject(JSONstr);
(2)JSON对象转换成JSON类型字符串(序列化)
String JSONstr = JSONObject.toJSONString(jsonObject);
JSON字符串(数组类型)与JSONArray之间的转换
//json字符串-数组类型
String JSONArraystr = "[{"studentName":"lily","studentAge":12},{"studentName":"lucy","studentAge":15}]";
(1)JSON字符串转换成JSONArray
/**
* json字符串-数组类型到JSONArray的转换
*/
@Test
public void testJSONStrToJSONArray() {
JSONArray jsonArray = JSONArray.parseArray(JSON_ARRAY_STR);
//遍历方式1
int size = jsonArray.size();
for (int i = 0; i < size; i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
System.out.println("studentName: " + jsonObject.getString("studentName") + ":" + " studentAge: "
+ jsonObject.getInteger("studentAge"));
}
(2)JSONArray转换成JSON字符串
String jsonString = JSONArray.toJSONString(jsonArray);