随笔 - 547  文章 - 1  评论 - 295  阅读 - 33万

JSONObject应用Json字符串和Object对象之间的转换,Map封装数据思路

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());

    }
}
复制代码

 

posted on   oktokeep  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示