JSON格式转换,String,Array,List,Map

package cn.itcast.caoke.json;java

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

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;数组

public class JsonTest {
    public static void main(String[] args) {
        
        Person person = new Person();
        person.setName("caokePerson");
        person.setAge(23);
        // 1.直接放json对象    
        // 直接new JSONObject 对象 ,像map同样赋值
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "caoke");
        System.out.println("----直接放json对象----"+jsonObject.toString());
        // ----直接放json对象----{"name":"caoke"}
        // 2. 对象转换为json    
        //使用 JSONObject的静态对象方法,把对象直接转换为JSONObject
        jsonObject = JSONObject.fromObject(person);
        System.out.println("----对象转换为json----"+jsonObject.toString());
        // ----对象转换为json----{"student":null,"name":"caokePerson","age":23}
        // 3.集合转换json
        // 用JSONArray的静态方法把集合转换为JsonArray
        List<Person> persons = new ArrayList<Person>();
        Person person2 = new Person();
        person2.setName("caokePerson2");
        person2.setAge(23);
        persons.add(person);
        persons.add(person2);
        JSONArray jsonArray = JSONArray.fromObject(persons);
        System.out.println("----集合转换json----"+jsonArray.toString());
        // ----集合转换json----[{"student":null,"name":"caokePerson","age":23},{"student":null,"name":"caokePerson2","age":23}]
        //4.数组转换json
        // 一样用JSONObject 来放数组
        String arr[] = new String[]{"12","34","56"} ;
        JSONObject jsonObjectArr = new JSONObject();
        jsonObjectArr.put("name", arr);
        System.out.println("----数组转换json对象----"+jsonObjectArr.toString());
        //----数组转换json对象----{"name":["12","34","56"]}
        // 5.map 转换json    
        // 能够用JSONObject直接来转换
        Map<String, Person> map = new HashMap<String, Person>();
        map.put("12", person);
        map.put("23", person2);
        JSONObject jsonmap = JSONObject.fromObject(map);
        System.out.println("----map转换json对象----"+jsonmap.toString());
        //----map转换json对象----{"23":{"student":null,"name":"caokePerson2","age":23},"12":{"student":null,"name":"caokePerson","age":23}}
        
        // 试试list 是否能够直接转换    
        // 'object' is an array. Use JSONArray instead  
        // 报错不可以使用
//        JSONObject jsonlist = JSONObject.fromObject(persons);
//        System.out.println("----map转换json对象----"+jsonlist.toString());
        // 6.对象中有其余对象的json转换
        Student student = new Student();
        student.setAge(21);
        student.setName("liyong");
        person.setStudent(student);
        JSONObject jsonPerStu = JSONObject.fromObject(person);
        System.out.println("----对象包含对象----"+jsonPerStu.toString());
        // ----对象包含对象----{"student":{"name":"liyong","age":21},"name":"caokePerson","age":23}
    }
}
 对象

相关文章
相关标签/搜索