FastJson与String,List,JavaBean互转

平时用到了很多Json和其它对象转换,做个简单的记录,方便查阅。
FastJson转换的方式有很多,这里只随便列举几个。

package com.seer.fastjson;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.ArrayList;
import java.util.List;

/**
 * 转换参考
 *
 * @author seer
 * @date 2017/12/20 14:23
 */
public class JsonRefer {

    public static void main(String[] args) {
        // json串
        String jsonString = "{\"name\":\"seer\",\"age\":\"27\"}";

        // json串组
        String jsonStrings = "[{\"name\":\"seer\",\"age\":\"27\"},{\"name\":\"yuyanjia\",\"age\":\"18\"}]";

        // jsonObject
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "seer");
        jsonObject.put("age", "27");

        //jsonArray
        JSONArray jsonArray = new JSONArray();
        jsonArray.add(jsonObject);
        jsonObject = new JSONObject();
        jsonObject.put("name", "yuyanjia");
        jsonObject.put("age", "18");
        jsonArray.add(jsonObject);

        // javabean
        JavaBean javaBean = new JavaBean("seer", 27);

        // List
        List javaBeanList = new ArrayList<>();
        javaBeanList.add(javaBean);
        javaBeanList.add(new JavaBean("yuyanjia", 18));


        /**
         * String转JsonObject
         */
        JSONObject tmpJsonObject = JSONObject.parseObject(jsonString);
        System.out.println(tmpJsonObject.toJSONString());

        /**
         * JsonObject转String
         */
        String tmpStr = jsonObject.toJSONString();
        System.out.println(tmpStr);


        /**
         * String转JsonArray
         */
        JSONArray tmpJsonArray = JSONArray.parseArray(jsonStrings);
        System.out.println(tmpJsonArray.toJSONString());

        /**
         * JsonArray转String
         */
        String tmpStrs = jsonArray.toJSONString();
        System.out.println(tmpStrs);


        /**
         * JaveBean转JsonObject
         */
        JSONObject tmpJsonObject2 = (JSONObject) JSONObject.toJSON(jsonObject);
        System.err.println(tmpJsonObject2.toJSONString());

        /**
         * JsonObject转JavaBean
         */
        JavaBean tmpJavaBean2 = jsonObject.toJavaObject(JavaBean.class);
        System.err.println(tmpJavaBean2.toString());


        /**
         * List转JsonArray
         */
        JSONArray tmpJsonArray2 = (JSONArray) JSONArray.toJSON(javaBeanList);
        System.err.println(tmpJsonArray2.toJSONString());

        /**
         * JsonArray转List
         */
        List tmpList = JSONArray.parseArray(jsonArray.toJSONString(), JavaBean.class);
        System.err.println(tmpList.toString());


    }
}

class JavaBean {

    private String name;

    private Integer age;

    public String getName() {
        return name;
    }

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

    public Integer getAge() {
        return age;
    }

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

    public JavaBean() {
    }

    public JavaBean(String name, Integer age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "JavaBean{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

你可能感兴趣的:(FastJson与String,List,JavaBean互转)