java后端list对象与JSON的相互转化

遇到的问题!

数据库存的是JSON格式的list对象,对象只有id和name两个属性,而我后端暂时只需要取得全部的id

在这里插入图片描述

首先由一个简单类

public class IdAndName {
    private String id;
    private String name;

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

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

在这里插入图片描述

public class JSONTest {
    public static void main(String[] args) {
        IdAndName idAndName1=new IdAndName();
        idAndName1.setId("345");
        idAndName1.setName("张三");

        IdAndName idAndName2=new IdAndName();
        idAndName2.setId("678");
        idAndName2.setName("李四");

        IdAndName idAndName3=new IdAndName();
        idAndName3.setId("910");
        idAndName3.setName("王五");

        List<IdAndName> idAndNameList=new ArrayList<>();
        idAndNameList.add(idAndName1 );
        idAndNameList.add(idAndName2 );
        idAndNameList.add(idAndName3 );
        System.out.println(idAndNameList);

        String string = JSON.toJSONString(idAndNameList);
        System.out.println(string);

        List<IdAndName> idAndNameList1 = JSON.parseArray(string, IdAndName.class);
        System.out.println(idAndNameList1);

    }
}
Java后端可以通过使用注解@RequestBody来接收前端传来的数据。在后端方法中使用该注解可以将前端传来的数据直接映射到对应的Java对象中。例如,在后端方法1中,使用注解@RequestBody List<UserDTO> datas来接收前端传来的数据,其中UserDTO是一个Java对象,用于表示用户的数据。可以通过循环遍历datas来处理每个用户的数据。外,可以使用datas.getClass().toString()来获取datas的数据类型。类似地,在后端方法2中,可以使用注解@RequestBody List<UserDTO> datas来接收前端传来的数据,但是需要使用JSON.parseArray()方法将前端传来的JSON字符串转化List<UserDTO>对象。然后可以通过循环遍历datas来处理每个用户的数据。再次强调,以上是两种常见的后端接收数据的方法,具体的方法选择取决于前端传来的数据类型和后端的具体需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [前端传值,java后端接收](https://blog.csdn.net/weixin_45703155/article/details/127589531)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [postman测试java后端接口](https://blog.csdn.net/weixin_45536587/article/details/124015891)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值