json字符串转对象、List

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lihua5419/article/details/86062291

json架包链接:https://pan.baidu.com/s/1usnL_2DeOd7fWzdDocgPhA 
提取码:owyj 

GitHub下载地址: 
https://github.com/alibaba/fastjson

主要的使 用入口

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。

public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean 
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
public static final Object toJSON(Object javaObject);// 将JavaBean转换为JSONObject或者JSONArray。

有关类库的一些说明

SerializeWriter:相当于StringBuffer

JSONArray:相当于List<Object>

JSONObject:相当于Map<String, Object>

JSON反序列化没有真正数组,本质类型都是List<Object>

maven项目可以直接引入依赖

<dependency>
        <groupId>com.alibaba</groupId>
	    <artifactId>fastjson</artifactId>
	    <version>1.2.54</version>
</dependency>

以下只是部分简单示例 

import java.util.Arrays;
import java.util.List;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class JsonToList {

	public static void main(String[] args) {
		List<User> usList=Arrays.asList(new User(1, "小王",1,22),
                new User(2, "小王",2,22),
                new User(3, "小明",1,23));
		//List转JSON
		String s=JSON.toJSONString(usList);
		System.out.println(s);
        //JSON转List方法1
		List<User> student1 = JSON.parseArray(s,User.class); 
        System.out.println(student1);
        //JSON转List方法2
        List<User> student2 = JSONArray.parseArray(s).toJavaList(User.class);
        System.out.println(student2);
        //JSON转List方法3
        List<User> student3 = JSON.parseObject(s,new TypeReference<List<User>>(){}); 
        System.out.println(student3);
        System.out.println("-----------------分割线-----------------");
        User user=new User(1, "小谢",1,26);
        String str=JSON.toJSONString(user);
        System.out.println(str);
        JSONObject jsonObject=(JSONObject) JSON.toJSON(user);
        System.out.println(jsonObject);
	}
	
}

打印结果如下: 

[{"age":22,"sex":1,"userId":1,"username":"小王"},{"age":22,"sex":2,"userId":2,"username":"小王"},{"age":23,"sex":1,"userId":3,"username":"小明"}]
[User [userId=1, username=小王, sex=1, age=22], User [userId=2, username=小王, sex=2, age=22], User [userId=3, username=小明, sex=1, age=23]]
[User [userId=1, username=小王, sex=1, age=22], User [userId=2, username=小王, sex=2, age=22], User [userId=3, username=小明, sex=1, age=23]]
[User [userId=1, username=小王, sex=1, age=22], User [userId=2, username=小王, sex=2, age=22], User [userId=3, username=小明, sex=1, age=23]]
-----------------分割线-----------------
{"age":26,"sex":1,"userId":1,"username":"小谢"}
{"sex":1,"userId":1,"age":26,"username":"小谢"}

 微信扫描下方二维码 更多优质资源及优质文章及时获取

扫描二维码关注公众号,回复: 5439164 查看本文章

猜你喜欢

转载自blog.csdn.net/lihua5419/article/details/86062291