迭代Java中的Array对象并提取键和值

时间:2014-08-16 15:13:04

标签: java arraylist map

我接收数据作为对象数组,我接受为List<Object> data = new ArrayList<Object>();,然后需要迭代以从对象获取键值对。示例:

Data send from JavaScript :

data : {[
     {
        name : abc,
        key : [
            {
              name : 1,
              value : 2
            },
            {
              name : 3,
              set : 4
            }
        ] 
     },
     {
        name : def,
        key : [
            {
              name : 5,
              value : 2
            },
            {
              name : 9,
              set : 7
            }
        ]
      }
]}

从ArrayList中提取第一个Object得到以下结果:

{name=abc, key=[{name=1, value=2}, {name=3, set=4}]}

现在,我需要将键“name”及其值“abc”作为String。对于密钥“密钥”,我需要访问单个对象并提取密钥,即“名称”,并将其值,即“1”作为字符串。我无法理解如何迭代上面的List并将键和值提取为String。请帮忙。

1 个答案:

答案 0 :(得分:0)

我强烈建议您在处理JSON输入时使用JSON库,例如Jackson,但是:

因为你写的是你正在使用

{name=abc, key=[{name=1, value=2}, {name=3, set=4}]}

你说你有一个ArrayList<Object>我会做出有根据的猜测并说你的ArrayList包含Map namekey作为钥匙。 (并且您使用System.out.println 打印此地图。

现在,如果你有一张地图,那很简单:

Map<String, Object> map = (Map<String, Object>) myList.get(0);
for (String key : map.keySet())
    System.out.println("Key: " + key + " maps to value: " + map.get(key));