fastJson在java後台轉換json格式資料探究(二)--處理數組/List/Map__js

來源:互聯網
上載者:User

直接給代碼:

package fastJson.test;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;public class FastJsonTest1{    /**     * 數組轉json格式字串     */    public void array2Json(){        String[] arr = {"bill","green","maks","jim"};        String jsonText = JSON.toJSONString(arr, true);        System.out.println("array2Json()方法:jsonText=="+jsonText);        // 輸出結果:jsonText==["bill","green","maks","jim"]    }    /**     * json格式字串轉數組     */    public void json2Array(){        String jsonText = "[\"bill\",\"green\",\"maks\",\"jim\"]";        JSONArray jsonArr = JSON.parseArray(jsonText);        System.out.println("json2Array()方法:jsonArr=="+jsonArr);        // 輸出結果:jsonArr==["bill","green","maks","jim"]    }        /**     * 數組轉json格式字串     */    public void array2Json2(){        User user1 = new User("P001","TOM",16);        User user2 = new User("P002","JACKSON",21);        User user3 = new User("P003","MARTIN",20);        User[] userArr = {user1,user2,user3};        String jsonText = JSON.toJSONString(userArr, true);        System.out.println("array2Json2()方法:jsonText=="+jsonText);        //輸出結果:jsonText==[{"age":16,"id":"P001","name":"TOM"},{"age":21,"id":"P002","name":"JACKSON"},{"age":20,"id":"P003","name":"MARTIN"}]    }        /**     * json格式字串轉數組     */    public void json2Array2(){        String jsonText = "[{\"age\":16,\"id\":\"P001\",\"name\":\"TOM\"},{\"age\":21,\"id\":\"P002\",\"name\":\"JACKSON\"},{\"age\":20,\"id\":\"P003\",\"name\":\"MARTIN\"}]";        JSONArray jsonArr = JSON.parseArray(jsonText);        System.out.println("json2Array2()方法:jsonArr=="+jsonArr);        // 輸出結果:jsonArr==[{"age":16,"id":"P001","name":"TOM"},{"age":21,"id":"P002","name":"JACKSON"},{"age":20,"id":"P003","name":"MARTIN"}]    }        /**     * list集合轉json格式字串     */    public void list2Json(){        List list = new ArrayList();        User user1 = new User("L001","TOM",16);        list.add(user1);        User user2 = new User("L002","JACKSON",21);        list.add(user2);        User user3 = new User("L003","MARTIN",20);        list.add(user3);        String jsonText = JSON.toJSONString(list, true);        System.out.println("list2Json()方法:jsonText=="+jsonText);        //輸出結果:jsonText==[{"age":16,"id":"L001","name":"TOM"},{"age":21,"id":"L002","name":"JACKSON"},{"age":20,"id":"L003","name":"MARTIN"}]    }        /**     * list集合轉json格式字串     */    public void list2Json2(){        List list = new ArrayList();        Address address1 = new Address("廣東省","深圳市","科苑南路","580053");        User user1 = new User("L001","TOM",16,address1);        list.add(user1);        Address address2 = new Address("江西省","南昌市","陽明路","330004");        User user2 = new User("L002","JACKSON",21,address2);        list.add(user2);        Address address3 = new Address("陝西省","西安市","長安南路","710114");        User user3 = new User("L003","MARTIN",20,address3);        list.add(user3);        String jsonText = JSON.toJSONString(list, true);        System.out.println("list2Json2()方法:jsonText=="+jsonText);        //輸出結果:jsonText==[{"address":{"city":"深圳市","post":"580053","province":"廣東省","street":"科苑南路"},"age":16,"id":"L001","name":"TOM"},{"address":{"city":"南昌市","post":"330004","province":"江西省","street":"陽明路"},"age":21,"id":"L002","name":"JACKSON"},{"address":{"city":"西安市","post":"710114","province":"陝西省","street":"長安南路"},"age":20,"id":"L003","name":"MARTIN"}]    }    /**     * map轉json格式字串     */    public void map2Json(){        Map map = new HashMap();        Address address1 = new Address("廣東省","深圳市","科苑南路","580053");        map.put("address1", address1);        Address address2 = new Address("江西省","南昌市","陽明路","330004");        map.put("address2", address2);        Address address3 = new Address("陝西省","西安市","長安南路","710114");        map.put("address3", address3);        String jsonText = JSON.toJSONString(map, true);        System.out.println("map2Json()方法:jsonText=="+jsonText);        //輸出結果:jsonText=={"address1":{"city":"深圳市","post":"580053","province":"廣東省","street":"科苑南路"},"address2":{"city":"南昌市","post":"330004","province":"江西省","street":"陽明路"},"address3":{"city":"西安市","post":"710114","province":"陝西省","street":"長安南路"}}    }                public static void main(String[] args)    {        FastJsonTest1 test = new FastJsonTest1();        //數組轉json格式字串        test.array2Json();                //json格式字串轉數組        test.json2Array();                //數組轉json格式字串        test.array2Json2();                //json格式字串轉數組        test.json2Array2();                //list集合轉json格式字串        test.list2Json();                //list集合轉json格式字串        test.list2Json2();                //map轉json格式字串        test.map2Json();    }}

控制台輸出結果:

array2Json()方法:jsonText==["bill","green","maks","jim"]json2Array()方法:jsonArr==["bill","green","maks","jim"]array2Json2()方法:jsonText==[{"age":16,"id":"P001","name":"TOM"},{"age":21,"id":"P002","name":"JACKSON"},{"age":20,"id":"P003","name":"MARTIN"}]json2Array2()方法:jsonArr==[{"age":16,"id":"P001","name":"TOM"},{"age":21,"id":"P002","name":"JACKSON"},{"age":20,"id":"P003","name":"MARTIN"}]list2Json()方法:jsonText==[{"age":16,"id":"L001","name":"TOM"},{"age":21,"id":"L002","name":"JACKSON"},{"age":20,"id":"L003","name":"MARTIN"}]list2Json2()方法:jsonText==[{"address":{"city":"深圳市","post":"580053","province":"廣東省","street":"科苑南路"},"age":16,"id":"L001","name":"TOM"},{"address":{"city":"南昌市","post":"330004","province":"江西省","street":"陽明路"},"age":21,"id":"L002","name":"JACKSON"},{"address":{"city":"西安市","post":"710114","province":"陝西省","street":"長安南路"},"age":20,"id":"L003","name":"MARTIN"}]map2Json()方法:jsonText=={"address1":{"city":"深圳市","post":"580053","province":"廣東省","street":"科苑南路"},"address2":{"city":"南昌市","post":"330004","province":"江西省","street":"陽明路"},"address3":{"city":"西安市","post":"710114","province":"陝西省","street":"長安南路"}}


附:javabean類 User.java

package fastJson.test;import java.io.Serializable;public class User implements Serializable {private static final long serialVersionUID = 1L;private String id;private String name;private int age;    private Address address;public User() {super();}public User(String id, String name, int age) {super();this.id = id;this.name = name;this.age = age;}    public User(String id, String name, int age, Address address)    {        super();        this.id = id;        this.name = name;        this.age = age;        this.address = address;    }    public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}    public Address getAddress()    {        return address;    }    public void setAddress(Address address)    {        this.address = address;    }}

Address.java

package fastJson.test;import java.io.Serializable;public class Address implements Serializable{    private static final long serialVersionUID = 1L;        private String province;    private String city;    private String street;    private String post;        public Address()    {        super();    }        public Address(String province, String city, String street, String post)    {        super();        this.province = province;        this.city = city;        this.street = street;        this.post = post;    }    public String getCity()    {        return city;    }    public void setCity(String city)    {        this.city = city;    }    public String getPost()    {        return post;    }    public void setPost(String post)    {        this.post = post;    }    public String getProvince()    {        return province;    }    public void setProvince(String province)    {        this.province = province;    }    public String getStreet()    {        return street;    }    public void setStreet(String street)    {        this.street = street;    }    }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.