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}
    }
}
 對象

相關文章
相關標籤/搜索