Java 在RESTAPI中处理子数据(数组)的最佳方法

Java 在RESTAPI中处理子数据(数组)的最佳方法,java,json,rest,jersey,Java,Json,Rest,Jersey,我正在开发web API。(使用java,jersey)(数据格式json) 以下是示例数据格式 customerID customerName customerCity products product1 quantity1 product2 quantity2 product3 quantity3 正如您在上面的数据中所看到的,products是一个数组(product&quantity) 为了提供这些数据(json格式),我使用了POJO: public c

我正在开发web API。(使用java,jersey)(数据格式json)

以下是示例数据格式

customerID
customerName
customerCity
products
    product1  quantity1
    product2  quantity2
    product3  quantity3
正如您在上面的数据中所看到的,products是一个数组(product&quantity)

为了提供这些数据(json格式),我使用了POJO:

public class CustomerOrder
{
    private String customerID;
    private String customerName;
    private String customerCity;
    private ArrayList<Product> products;

    //getters & setters for above 4 variables

    public CustomerOrder() {}  //Constructor without parameter

    public CustomerOrder(....) {....}  //Constructor with above 4 parameter

    public class Product
    {
        private String product;
        private int quantity;

        //getters & setters for above 2 variables
    }
}
公共类客户订单
{
私有字符串customerID;
私有字符串客户名称;
私人字符串客户;
私人ArrayList产品;
//上述4个变量的getter和setter
公共CustomerOrder(){}//构造函数,不带参数
公共CustomerOrder(..){..}//具有上述4个参数的构造函数
公共类产品
{
私有字符串产品;
私人整数数量;
//上述两个变量的getter和setter
}
}
要使用以上POJO,请执行以下操作:

ArrayList<CustomerOrder> customerOrderList = new ArrayList<CustomerOrder>();

ArrayList<Product> customerOrderProductList = new ArrayList<Product>();
//statements to add data in customerOrderProductList

//add data in customerOrderList
customerOrderList.add(
    customerID,
    customerName, 
    customerCity,
    customerOrderProductList
);
ArrayList customerOrderList=新建ArrayList();
ArrayList customerOrderProductList=新建ArrayList();
//用于在customerOrderProductList中添加数据的语句
//在customerOrderList中添加数据
customerOrderList.add(
客户ID,
客户名称,
顾客意识,
客户订单产品列表
);

我的问题是,这是处理上述数据格式的最佳(标准)方法吗?或者有更好的方法吗?

是的,这是处理数据格式的标准方法。如果您真的想切换列表,可以使用
Product
数组来切换列表,但这并不是必需的

除此之外,大多数json到POJO库(gson等)不需要getter和setter,您只需将变量声明为public即可

也许它会帮助你: