我接收数据作为对象数组,我接受为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。请帮忙。
答案 0 :(得分:0)
我强烈建议您在处理JSON输入时使用JSON库,例如Jackson,但是:
因为你写的是你正在使用
{name=abc, key=[{name=1, value=2}, {name=3, set=4}]}
你说你有一个ArrayList<Object>
我会做出有根据的猜测并说你的ArrayList包含Map
name
和key
作为钥匙。 (并且您使用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));