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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM