json 与list ,map的转换

首先引入包:

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

//测试代码:

1.JSON与list的互转

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

import java.util.ArrayList;
import java.util.List;

public class TestMain {

    public static void main(String[] args){
        Student s1 = new Student();
        s1.setName("zhangshan");
        s1.setAge(10);

        List<Student> studentList = new ArrayList<Student >();
        studentList.add(s1);

        //集合转json字符串
        String str=JSON.toJSONString(studentList);
        System.out.println(str);


        //json字符串转集合list
      List<Student> list = new ArrayList<Student>();
        list = JSONObject.parseArray(str, Student.class);
        System.out.println(list);
        for(Student s:list){
            System.out.println(s.getName()+s.getAge());
        }



    }

}

输出结果:

[{"age":10,"name":"zhangshan"}]
[Student@3d04a311]
zhangshan10

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

import java.util.ArrayList;
import java.util.List;

public class TestMain {

    public static void main(String[] args){
        Student s1 = new Student();
        s1.setName("zhangshan");
        s1.setAge(10);



        List<Student> studentList = new ArrayList<Student >();
//        studentList.add(s1);

        //空集合转json字符串
        String str=JSON.toJSONString(studentList);
        System.out.println(str);


        //json字符串转集合list
        List<Student> list = new ArrayList<Student>();
        list = JSONObject.parseArray(str, Student.class);
        System.out.println(list+"===="+list.size());
        for(Student s:list){
            System.out.println(s.getName()+s.getAge());
        }



    }

}

list.size =0 :输出 结果 :

[]
[]====0

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

import java.util.ArrayList;
import java.util.List;

public class TestMain {

    public static void main(String[] args){
        Student s1 = new Student();
        s1.setName("zhangshan");
        s1.setAge(10);



        List<Student> studentList = null;
//        studentList.add(s1);

        //空集合转json字符串
        String str=JSON.toJSONString(studentList);
        System.out.println(str);


        //json字符串转集合list
        List<Student> list = new ArrayList<Student>();
        list = JSONObject.parseArray(str, Student.class);
        System.out.println(list);
        if(null !=list ){

            for(Student s:list){
                System.out.println(s.getName()+s.getAge());
            }
        }



    }

}

list =null,输出结果:

null
null

2.JSON与Map的互转

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

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TestMain {

    public static void main(String[] args) {
        Student s1 = new Student();
        s1.setName("zhangshan");
        s1.setAge(10);

        Map<String, Student> map = new HashMap<String, Student>();
        map.put("zhangshan", s1);
        System.out.println(map);
        String json = JSON.toJSONString(map);
        System.out.println(json);

        Map map1 = JSON.parseObject(json);
        System.out.println(map1);
        System.out.println(map1 instanceof Map);

    }

}

输出结果:

{zhangshan=Student@3764951d}
{"zhangshan":{"age":10,"name":"zhangshan"}}
{"zhangshan":{"name":"zhangshan","age":10}}
true

如果map.size=0,则上述输出:

{}
{}
{}
true
如果map =null,则输出:

null
null
null
false

3.JSON与对象的互转

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

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TestMain {

    public static void main(String[] args) {
        Student s1 = new Student();
        s1.setName("zhangshan");
        s1.setAge(10);
        System.out.println(s1);



        String json = JSON.toJSONString(s1);
        System.out.println(json);

        Student student = JSON.parseObject(json, Student.class);
        System.out.println(student);

    }

}

如果s1=new Student();则输出:因为int会默认初始化一值

Student@3764951d
{"age":0}
Student@277c0f21

如果s1=null,则输出:

null
null
null

猜你喜欢

转载自www.cnblogs.com/zf201149/p/9333172.html