java - 在 Java 中的 JSON 对象中使用 JSON 数组

标签 java arrays web-services json

我有一个包含 2 到 6 之间整数值的数组列表,我测试每个数字是奇数还是偶数,如下所示:

JSONObject outerObject = new JSONObject();
JSONArray outerArray = new JSONArray();
JSONObject [] innerObject = new JSONObject[list1.size()];
        for ( i = 0; i < list1.size(); i++)// change to list1.size()
            {
                innerObject[i]=new JSONObject();
                innerObject[i].put("Item" , list1.get(i));
                if(list1.get(i)%2==0)
                {
                    innerObject[i].put("Odd or Even", "number "+list1.get(i)+" is even");
                }
                else
                    innerObject[i].put("Odd or Even", "number "+list1.get(i)+" is odd");                  
                outerArray.put(innerObject[i]);
            }
        outerObject.put("rows", outerArray);
        return outerObject.toString();

然后我有以下 JSON 文件结果

{"rows":[
{"Item":2,"Odd or Even":"number 2 is even"},
{"Item":3,"Odd or Even":"number 3 is odd"},
{"Item":4,"Odd or Even":"number 4 is even"},
{"Item":5,"Odd or Even":"number 5 is odd"},
{"Item":6,"Odd or Even":"number 6 is even"}
]}

现在我想找到数组列表项之间的乘法 像:

{"rows":[
    {"Item":2,"Odd or Even":"number 2 is even", "Multiplication:[4,6]"},
    {"Item":3,"Odd or Even":"number 3 is odd","Multiplication:[6]"},
    {"Item":4,"Odd or Even":"number 4 is even"},
    {"Item":5,"Odd or Even":"number 5 is odd"},
    {"Item":6,"Odd or Even":"number 6 is even"}
    ]}

我知道我需要在第一个循环内使用另一个 for 循环,如下所示

for (j=i; j < list1.size(); j++)
            {
                inerArray[j]=new JSONArray();
                if (list1.get(j)%list.get(i)==0)
                    inerArray[j].put(list1.get(j));

            }
innerObject[i].put("Multiplication" , inerArray);

但是不起作用

我正在使用 Java 和 Restful Web 服务

最佳答案

如果它对您有用,您可以尝试一下:-

public static void main(String args[]){
    List<Integer> list1 = new ArrayList<Integer>();
    list1.add(2);
    list1.add(3);
    list1.add(4);
    list1.add(5);
    list1.add(6);
    JSONObject outerObject = new JSONObject();
    JSONArray outerArray = new JSONArray();
    List<Integer> duplicateValue=new ArrayList<Integer>();
    JSONObject [] innerObject = new JSONObject[list1.size()];
            for (int  i = 0; i < list1.size(); i++)// change to list1.size()
                {
                    JSONArray inerArray = new JSONArray();
                    innerObject[i]=new JSONObject();
                    innerObject[i].put("Item" , list1.get(i));
                    if(list1.get(i)%2==0)
                    {
                        innerObject[i].put("Odd or Even", "number "+list1.get(i)+" is even");
                    }
                    else{
                        innerObject[i].put("Odd or Even", "number "+list1.get(i)+" is odd"); 
                    }
                    for (int j=i; j < list1.size(); j++)
                    {
                        if(list1.get(j)!=list1.get(i)){
                            if (list1.get(j)%list1.get(i)==0){
                                    if(!duplicateValue.contains(list1.get(j))){
                                    inerArray.add(list1.get(j));
                                    duplicateValue.add(list1.get(j));
                                }
                            }
                        }
                    }
                    if(inerArray.size()!=0){
                        innerObject[i].put("Multiplication" , inerArray);
                    }
                    outerArray.add(innerObject[i]);
                }

            outerObject.put("rows", outerArray);
            System.out.println(outerObject.toString());
}

OutPut :- {"rows":[{"Item":2,"Odd or Even":"number 2 is even","Multiplication":[4,6]},{"Item":3,"Odd or Even":"number 3 is odd","Multiplication":[6]},{"Item":4,"Odd or Even":"number 4 is even"},{"Item":5,"Odd or Even":"number 5 is odd"},{"Item":6,"Odd or Even":"number 6 is even"}]}

关于java - 在 Java 中的 JSON 对象中使用 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31667150/

相关文章:

c - 查找是否存在任何 i 以便 array[i] 等于 i 的算法

c# - 货币作为字符串还是货币作为数字?

web-services - 从 Azure Web 应用程序使用 SOAP Web 服务

arrays - 组合对象流中的数组

java - 如何让 wsimport 生成构造函数?

java - 将自定义 keystore 与 Jetty 的 WebSocketClientFactory 结合使用

java - 数组连接和类型转换

java - Maven/Netbeans 有不同的测试配置文件和环境变量

java - 关于如何测试接收字符串并将其放入 ArrayList 的 BufferedReader 和 FileReader 的建议

javascript - 如何将一项插入包含 15 个对象的数组中