JSONObject應用Json字串和Object物件之間的轉換,Map封裝資料思路

oktokeep發表於2024-06-08

JSONObject應用Json字串和Object物件之間的轉換,Map封裝資料思路

package com.example.core.mydemo.json5;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;

public class Item {
    private String id;
    @JSONField(serialize = false)  //fastjson 忽略欄位列印
    private String rate;

    private String status;

    public Item() {
    }

    public Item(String id, String rate) {
        this.id = id;
        this.rate = rate;
    }

    @Override
    public String toString() {
        return "Item{" +
                "id='" + id + '\'' +
                ", rate='" + rate + '\'' +
                ", status='" + status + '\'' +
                '}';
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * output  {"id":"111"}
     * @param args
     */
    public static void main(String[] args) {
        Item item = new Item();
        item.setId("111");
        item.setRate("56666");
        System.out.println(JSON.toJSONString(item));
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getRate() {
        return rate;
    }

    public void setRate(String rate) {
        this.rate = rate;
    }
}

package com.example.core.mydemo.json5;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;

/**
 * output:
 * jsonString={"id":"4"}
 * id=4
 * status=成功
 * item2=Item{id='4', rate='null', status='成功'}
 * item3=Item{id='4', rate='null', status='成功'}
 */
public class JSONObjectTest {
    public static void main(String[] args) {
        Item item = new Item("4","100");
        String jsonString = JSON.toJSONString(item);
        System.out.println("jsonString="+jsonString);
        JSONObject jsonObject = JSON.parseObject(jsonString);
        if (jsonObject.containsKey("id")) {
            String id = jsonObject.getString("id");
            System.out.println("id=" +  id);
        }
        if (jsonObject.containsKey("rate")) {
            String rate = jsonObject.getString("rate");
            System.out.println("rate=" +  rate);
        }

        //封裝資料
        jsonObject.put("status","成功");
        if (jsonObject.containsKey("status")) {
            String status = jsonObject.getString("status");
            System.out.println("status=" +  status);
        }
//      T =  JSON.parseObject("json","Class T");
        Item item2 = jsonObject.toJavaObject(Item.class);
        System.out.println("item2=" + item2.toString());

        Type type = new TypeToken<Item>() {}.getType();
        Item item3 = jsonObject.toJavaObject(type);
        System.out.println("item3=" + item3.toString());

    }
}
package com.example.core.mydemo.json5;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;

public class Item {
    private String id;
    @JSONField(serialize = false)  //fastjson 忽略欄位列印
    private String rate;

    private String status;

    public Item() {
    }

    public Item(String id, String rate) {
        this.id = id;
        this.rate = rate;
    }

    @Override
    public String toString() {
        return "Item{" +
                "id='" + id + '\'' +
                ", rate='" + rate + '\'' +
                ", status='" + status + '\'' +
                '}';
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * output  {"id":"111"}
     * @param args
     */
    public static void main(String[] args) {
        Item item = new Item();
        item.setId("111");
        item.setRate("56666");
        System.out.println(JSON.toJSONString(item));
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getRate() {
        return rate;
    }

    public void setRate(String rate) {
        this.rate = rate;
    }
}

package com.example.core.mydemo.json5;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;

/**
 * output:
 * jsonString={"id":"4"}
 * id=4
 * status=成功
 * item2=Item{id='4', rate='null', status='成功'}
 * item3=Item{id='4', rate='null', status='成功'}
 */
public class JSONObjectTest {
    public static void main(String[] args) {
        Item item = new Item("4","100");
        String jsonString = JSON.toJSONString(item);
        System.out.println("jsonString="+jsonString);
        JSONObject jsonObject = JSON.parseObject(jsonString);
        if (jsonObject.containsKey("id")) {
            String id = jsonObject.getString("id");
            System.out.println("id=" +  id);
        }
        if (jsonObject.containsKey("rate")) {
            String rate = jsonObject.getString("rate");
            System.out.println("rate=" +  rate);
        }

        //封裝資料
        jsonObject.put("status","成功");
        if (jsonObject.containsKey("status")) {
            String status = jsonObject.getString("status");
            System.out.println("status=" +  status);
        }
//      T =  JSON.parseObject("json","Class T");
        Item item2 = jsonObject.toJavaObject(Item.class);
        System.out.println("item2=" + item2.toString());

        Type type = new TypeToken<Item>() {}.getType();
        Item item3 = jsonObject.toJavaObject(type);
        System.out.println("item3=" + item3.toString());

    }
}

相關文章