json字符串转换对象或列表,多了字段不会报错

json字符串转换对象或列表,多了字段不会报错代码语言:javascript代码运行次数:0运行复制DEMO1 转换对象 应用 riskIdpublic class Item {private String id;private St

json字符串转换对象或列表,多了字段不会报错

json字符串转换对象或列表,多了字段不会报错

代码语言:javascript代码运行次数:0运行复制
//DEMO1 转换对象 应用 riskId
public class Item {
    private String id;
    private String rate;

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

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

    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;
    }
}


Gson gson = new GsonBuilder().registerTypeAdapter(LocalDateTime.class, (JsonDeserializer<LocalDateTime>) (json, type, jsonDeserializationContext) ->
                LocalDateTime.parse(json.getAsJsonPrimitive().getAsString(), DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")))
                .registerTypeAdapter(LocalDate.class, (JsonDeserializer<LocalDate>) (json, type, jsonDeserializationContext) ->
                        LocalDate.parse(json.getAsJsonPrimitive().getAsString(), DateTimeFormatter.ofPattern("yyyy-MM-dd"))).create();


        //测试riskId                
        String sss = "{\"id\":\"40\",\"rate\":\"1000\",\"riskId\":\"560000\"}";
        Item test2 = JSON.parseObject(sss,Item.class);
        System.out.println("test2=" + test2.toString());


        Item carInfo = gson.fromJson(sss, Item.class);
        System.out.println("carInfo=" + carInfo.toString());

//测试结果:如果是json字符串多了字段,在映射转换对象的时候,不会报错。 output: test2=Item{id='40', rate='1000'} carInfo=Item{id='40', rate='1000'}

代码语言:javascript代码运行次数:0运行复制
// DEMO2 转换列表
 List<Item> configList = new ArrayList<>();
        configList.add(new Item("1","100"));
        configList.add(new Item("2","100"));
        configList.add(new Item("3","100"));
        configList.add(new Item("4","100"));

String json = JSON.toJSONString(configList);
        System.out.println(json);

        List<Item> configList2 = JSON.parseArray(json,Item.class);
        for (Item item : configList2) {
            System.out.println(GsonUtils.toJson(item));
        }

output: {"id":"1","rate":"100"} {"id":"2","rate":"100"} {"id":"3","rate":"100"} {"id":"4","rate":"100"}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2023-08-14,如有侵权请联系 cloudcommunity@tencent 删除jsonstring测试对象字符串

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754977647a5223661.html

相关推荐

  • json字符串转换对象或列表,多了字段不会报错

    json字符串转换对象或列表,多了字段不会报错代码语言:javascript代码运行次数:0运行复制DEMO1 转换对象 应用 riskIdpublic class Item {private String id;private St

    1月前
    180

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信