fastjson 操作Json常用格式数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastjson 操作Json常用格式数据相关的知识,希望对你有一定的参考价值。

import java.util.ArrayList;  
import java.util.HashMap;  
import java.util.List;  
import java.util.Map;  
  
import com.alibaba.fastjson.JSON;  
import com.alibaba.fastjson.TypeReference;  
public class TestMain {

	 static class Person{          
	        private String id ;  
	        private String name;  
	        private int age ;  
	          
	        public Person(){  
	              
	        }  
	        public Person(String id,String name,int age){  
	            this.id=id;  
	            this.name=name;  
	            this.age=age;  
	        }  
	        public String getId() {  
	            return id;  
	        }  
	        public void setId(String id) {  
	            this.id = id;  
	        }  
	        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;  
	        }  
	        @Override  
	        public String toString() {  
	            return "Person [age=" + age + ", id=" + id + ", name=" + name + "]";  
	        }  
	          
	          
	    }  
	    public static void main(String[] args) {  
	        method1();  
	        method2();  
	        method3();  
	        method4();  
	    }  
	      
	    static void method1(){  
	        System.out.println("JavaBean转化示例开始----------");  
	        Person person = new Person("1001","fastjson",22);  
	          
	        //这里将javabean转化成json字符串  
	        String jsonString = JSON.toJSONString(person);  
	        System.out.println(jsonString);  
	        //这里将json字符串转化成javabean对象,  
	        person =JSON.parseObject(jsonString,Person.class);  
	        System.out.println(person.toString());  

	    }  
	      
	    static void method2(){  
	        System.out.println("List<javabean>转化示例开始----------");  
	          
	        Person person1 = new Person("1","fastjson1",1);  
	        Person person2 = new Person("2","fastjson2",2);  
	        List<Person> persons = new ArrayList<Person>();  
	        persons.add(person1);  
	        persons.add(person2);  
	        String jsonString = JSON.toJSONString(persons);  
	        System.out.println("json字符串:"+jsonString);  
	          
	        //解析json字符串  
	        List<Person> persons2 = JSON.parseArray(jsonString,Person.class);  
	        //输出解析后的person对象
	        System.out.println("person1对象:"+persons2.get(0).toString());  
	        System.out.println("person2对象:"+persons2.get(1).toString());  

	    }  
	      
	    static void method3(){  
	        System.out.println("List<String>转化示例开始----------");  
	        List<String> list = new ArrayList<String>();  
	        list.add("fastjson1");  
	        list.add("fastjson2");  
	        list.add("fastjson3");  
	        String jsonString = JSON.toJSONString(list);  
	        System.out.println("json字符串:"+jsonString);  
	          
	        //解析json字符串  
	        List<String> list2 = JSON.parseObject(jsonString,new TypeReference<List<String>>(){});   
	        System.out.println(list2.get(0)+"::"+list2.get(1)+"::"+list2.get(2));  
	  
	    }  
	      
	    static void method4(){  
	        System.out.println(" List<Map<String,Object>>转化示例开始 ----------");  
	        Map<String,Object> map = new HashMap<String,Object>();  
	        map.put("key1", "value1");  
	        map.put("key2", "value2");  
	        Map<String,Object> map2 = new HashMap<String,Object>();  
	        map2.put("key1", 1);  
	        map2.put("key2", 2);  
	        List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();  
	        list.add(map);  
	        list.add(map2);  
	        String jsonString = JSON.toJSONString(list);  
	        System.out.println("json字符串:"+jsonString);  
	        //解析json字符串  
	        List<Map<String,Object>> list2 = JSON.parseObject(jsonString,new TypeReference<List<Map<String,Object>>>(){});  
	          
	        System.out.println("map的key1值"+list2.get(0).get("key1"));  
	        System.out.println("map的key2值"+list2.get(0).get("key2"));  
	        System.out.println("ma2p的key1值"+list2.get(1).get("key1"));  
	        System.out.println("map2的key2值"+list2.get(1).get("key2"));  
	    }  
}


输出:

JavaBean转化示例开始----------

{"age":22,"id":"1001","name":"fastjson"}

Person [age=22, id=1001, name=fastjson]

List<javabean>转化示例开始----------

json字符串:[{"age":1,"id":"1","name":"fastjson1"},{"age":2,"id":"2","name":"fastjson2"}]

person1对象:Person [age=1, id=1, name=fastjson1]

person2对象:Person [age=2, id=2, name=fastjson2]

List<String>转化示例开始----------

json字符串:["fastjson1","fastjson2","fastjson3"]

fastjson1::fastjson2::fastjson3

 List<Map<String,Object>>转化示例开始 ----------

json字符串:[{"key1":"value1","key2":"value2"},{"key1":1,"key2":2}]

map的key1值value1

map的key2值value2

ma2p的key1值1

map2的key2值2


本文出自 “Curiosity” 博客,请务必保留此出处http://flash09.blog.51cto.com/8831225/1906904

以上是关于fastjson 操作Json常用格式数据的主要内容,如果未能解决你的问题,请参考以下文章

Java对象数据与JSON对象数据之间的相互转换(fastjson)

Fastjson究竟有多快

json小结和fastjson包的实际json操作

FastJSON 常用操作

JSON_常用类JSON与对象的互相转换TypeReference泛型遇到的坑

JSON_常用类JSON与对象的互相转换TypeReference泛型遇到的坑