String轉(alibaba fastJSON) JSONObject JSONArray javaBean

JSONObject繼承JSON,JSONObject實現了Map<String, Object>, Cloneable, Serializable, InvocationHandler,JSONObject可以當做日常開發中的Map<String, Object>; 

 JSONArray繼承JSON,JSONArray實現了List<Object>, Cloneable, RandomAccess, Serializable,JSONArray可以當做日常開發中的LIst<Object>;

JSONObject對象轉換爲String時可調用.toString()也可調用.toJSONString(),實際源碼中.toString()調用的.toJSONString().

class Student{
    private String name;
    private Integer age;

    public void setName(String name){
        this.name = name;
    }

    public String getName(){
        return name;
    }

    public void setAge(Integer age){
        this.age = age;
    }

    public Integer getAge(){
        return age;
    }
}

public static void main(String[] args){

        //String --> JSONObject
        String str = "{\"age\":2, \"name\":\"zc\"}";
        JSONObject jsonObject = JSON.parseObject(str);
        System.out.println(jsonObject);
        String strCopy = jsonObject.toString(); //toString調用toJSONString
        System.out.println(strCopy);

        //Array --> JSONArray
        String str1 = "[{\"age\": 2, \"name\": \"czcz\"}, {\"addr\":\"bj\"}]";
        JSONArray array = JSON.parseArray(str1);
        for(Object a:array){
            JSONObject o = (JSONObject)a;
            System.out.println(o);
        }

        //String And Array --> JSONString And JSONArray
        String str2 = "{\"age\":[{\"age1\": 3}, {\"age2\": 4}, {\"age3\": 5}]}";
        JSONObject jsonObject1 = JSON.parseObject(str2);
        JSONArray array1 = JSON.parseArray(jsonObject1.getString("age"));
        System.out.println(array1);
        for(Object o:array1){
            JSONObject object = (JSONObject)o;
            System.out.println(object);
        }

        //JSON --> javaBean
        Student stu = JSON.parseObject(str, new TypeReference<Student>(){});
        System.out.println("age: " + stu.getAge() + " " + "name: " + stu.getName());
    }

 運行截圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章