Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JsonObject中循环值_Java_Json_Javax.json - Fatal编程技术网

Java 在JsonObject中循环值

Java 在JsonObject中循环值,java,json,javax.json,Java,Json,Javax.json,我给自己一个任务,在一个;例如,我希望我的json如下所示: { "cusEmail": "...", "totalQuantity": 11, "totalCost": 296.89, "phoneNumber": "844 463 9211", "address": "...", "closeShop": "...", "contact": "By email: and phone

我给自己一个任务,在一个;例如,我希望我的json如下所示:

{
        "cusEmail": "...",
        "totalQuantity": 11,
        "totalCost": 296.89,
        "phoneNumber": "844 463 9211",
        "address": "...",
        "closeShop": "...",
        "contact": "By email: and phone call::",
        "status": "...",
        "orderDate": "2017-15-12",
        "deliveryDate": "2017-12-18",
        "orderedItems": [
            {
                "name": "Blue Ribbon",
                "manufacture": "Blue Ribbon Brown Plus Low Gi Bread 700g",
                "price": 13.99,
                "image": "data:image/jpeg;base64,..."
                "count": 1
            },
            {
                "name": "Cheese",
                "manufacture": "Galbani Mozzarella Cheese 300g",
                "price": 49.99,
                "image": "data:image/octet-stream;base64,..."
                "count": 1
            }
        ]
}
我写了这封信:

int cartSize = ShoppingCartController.getInstance().myProducts.size();

    String[] nameString = new String[cartSize];
    String[] imageString = new String[cartSize];
    Integer[] qauntityInteger = new Integer[cartSize];
    String[] manufactureString = new String[cartSize];
    Double[] priceDouble = new Double[cartSize];

    JsonObjectBuilder jsonObject = null;

    for ( int i = 0; i < cartSize; i++ ){

        Item myProducts = ShoppingCartController.getInstance().myProducts.get(i);

        nameString[i] = myProducts.getName();
        manufactureString[i] = myProducts.getManufacture();
        priceDouble[i] = myProducts.getPrice();
        imageString[i] = myProducts.getImage();
        qauntityInteger[i] = myProducts.getQuantity();

         jsonObject = Json.createObjectBuilder()
                 .add("name", nameString[i])
                 .add("manufacture", manufactureString[i])
                 .add("price", priceDouble[i])
                 .add("image", imageString[i])
                 .add("count", qauntityInteger[i]);

    }



    JsonObject jsonParams = Json.createObjectBuilder()
                    .add("cusEmail", email)
                    .add("totalQuantity", quantity)
                    .add("totalCost", totalCost)
                    .add("phoneNumber", phoneNumber)
                    .add("address", address)
                    .add("closeShop", closeShop)
                    .add("contact", contact)
                    .add("status", "ordered")
                    .add("orderDate", dateFormat.format(orderDate))
                    .add("deliveryDate", delDate)
                    .add("orderedItems", Json.createArrayBuilder()
                            .add(jsonObject))
            .build();
int-cartSize=ShoppingCartController.getInstance().myProducts.size();
字符串[]名称字符串=新字符串[cartSize];
String[]imageString=新字符串[cartSize];
整数[]QUnityInteger=新整数[cartSize];
String[]manufactureString=新字符串[cartSize];
Double[]priceDouble=新的Double[cartSize];
JsonObjectBuilder jsonObject=null;
对于(int i=0;i
当然,jsonObject将返回循环的最后一个对象,然后单独添加该对象


如何循环并将所有对象添加到我的arrayBuilder中?

您需要先创建数组生成器,添加所有json对象,然后构建数组并将其添加到根对象:

JsonArrayBuilder array = Json.createArrayBuilder();

for ( int i = 0; i < cartSize; i++ ){
    ...

     array.add(Json.createObjectBuilder()
             .add("name", nameString[i])
             .add("manufacture", manufactureString[i])
             .add("price", priceDouble[i])
             .add("image", imageString[i])
             .add("count", qauntityInteger[i]));

}

JsonObject jsonParams = Json.createObjectBuilder()
                .add("cusEmail", email)
                .add("totalQuantity", quantity)
                .add("totalCost", totalCost)
                .add("phoneNumber", phoneNumber)
                .add("address", address)
                .add("closeShop", closeShop)
                .add("contact", contact)
                .add("status", "ordered")
                .add("orderDate", dateFormat.format(orderDate))
                .add("deliveryDate", delDate)
                .add("orderedItems", array.build())
        .build();
JsonArrayBuilder数组=Json.createArrayBuilder();
对于(int i=0;i
您需要首先创建数组生成器,添加所有json对象,然后构建数组并将其添加到根对象:

JsonArrayBuilder array = Json.createArrayBuilder();

for ( int i = 0; i < cartSize; i++ ){
    ...

     array.add(Json.createObjectBuilder()
             .add("name", nameString[i])
             .add("manufacture", manufactureString[i])
             .add("price", priceDouble[i])
             .add("image", imageString[i])
             .add("count", qauntityInteger[i]));

}

JsonObject jsonParams = Json.createObjectBuilder()
                .add("cusEmail", email)
                .add("totalQuantity", quantity)
                .add("totalCost", totalCost)
                .add("phoneNumber", phoneNumber)
                .add("address", address)
                .add("closeShop", closeShop)
                .add("contact", contact)
                .add("status", "ordered")
                .add("orderDate", dateFormat.format(orderDate))
                .add("deliveryDate", delDate)
                .add("orderedItems", array.build())
        .build();
JsonArrayBuilder数组=Json.createArrayBuilder();
对于(int i=0;i
JSONObject购物车=新的JSONObject();
cart.put(“cusEmail”,email);
购物车放置(“总数量”,数量);
购物车出售(“总成本”,总成本);
购物车放置(“电话号码”,电话号码);
购物车放置(“地址”,地址);
购物车放置(“closeShop”,closeShop);
cart.put(“contact”,contact);
购物车出售(“状态”、“订购”);
cart.put(“orderDate”,dateFormat.format(orderDate));
购物车放置(“交货日期”,delDate);
JSONArray objects=新的JSONArray();
JSONObject对象;
对于(int i=0;i<5;i++){
obj=新的JSONObject();
obj.put(“名称”,名称字符串[i]);
obj.put(“制造”,制造字符串[i]);
实物期权(“价格”,价格双倍[i]);
obj.put(“图像”,imageString[i]);
对象put(“计数”,QUNTITYINTEGER[i]);
对象。添加(obj);
}
cart.put(“orderedItems”,对象);
JSONObject购物车=新的JSONObject();
cart.put(“cusEmail”,email);
购物车放置(“总数量”,数量);
购物车出售(“总成本”,总成本);
购物车放置(“电话号码”,电话号码);
购物车放置(“地址”,地址);
购物车放置(“closeShop”,closeShop);
cart.put(“contact”,contact);
购物车出售(“状态”、“订购”);
cart.put(“orderDate”,dateFormat.format(orderDate));
购物车放置(“交货日期”,delDate);
JSONArray objects=新的JSONArray();
JSONObject对象;
对于(int i=0;i<5;i++){
obj=新的JSONObject();
obj.put(“名称”,名称字符串[i]);
obj.put(“制造”,制造字符串[i]);
实物期权(“价格”,价格双倍[i])
JsonArrayBuilder arrayBuilder = Json.createArrayBuilder();
arrayBuilder.add(jsonObject);
JsonObject jsonParams = Json.createObjectBuilder()
                    .add("cusEmail", email)
                    ...
                    .add("orderedItems", arrayBuilder.build());