需要解析LinkedList下的JSON对象并计算字段值

时间:2014-07-31 11:34:27

标签: java

我有一个带有键的Map和一个JSONObjects列表,如图所示

Map<String, LinkedList<JSONObject>> vendorOrdersMap = new LinkedHashMap<String, LinkedList<JSONObject>>();

我需要计算供应商每个LinkedList下的价格,以了解哪个供应商的价格最高。

Map<String, LinkedList<JSONObject>> vendorOrdersMap = new LinkedHashMap<String, LinkedList<JSONObject>>();

// For Vendor 1

JSONObject vendor1 = new JSONObject();
vendor1.put("price", "100");

JSONObject vendor2 = new JSONObject();
vendor2.put("price", "200");

LinkedList<JSONObject> list1vendor1 = new LinkedList<JSONObject>();

list1vendor1.add(vendor1);
list1vendor1.add(vendor2);

// For Vendor2

        JSONObject vendor3 = new JSONObject();
        vendor1.put("price", "200");

        JSONObject vendor4 = new JSONObject();
        vendor2.put("price", "300");

        LinkedList<JSONObject> list1vendor2 = new LinkedList<JSONObject>();



        list1vendor2.add(vendor3);
        list1vendor2.add(vendor4);

// Add them to the Map

        vendorOrdersMap.put("Vendor1", list1vendor1);
        vendorOrdersMap.put("Vendor2", list1vendor2);

//我从这开始,但无法继续这个

   for (Map.Entry<String, LinkedList<JSONObject>> entry : vendorOrdersMap.entrySet())
        {
            String key = entry.getKey();
            LinkedList<JSONObject> jsonobj = entry.getValue();

        }

1 个答案:

答案 0 :(得分:1)

你的最后一行是:

LinkedList<JSONObject> jsonobj = entry.getValue();

在此之后,再次迭代列表,如:

for(JSONObject obj : jsonobj) {

然后从JSONObject获取值,如:

String price = obj.getString("price");

然后进行比较以计算最高价格。