我的JSON看起来与此类似:
{ “测试”:{ “红色”: “上”, “绿色”: “关”, “黄”: “上”}, “测试1”:{ “红色”: “关”, “绿色” : “上”, “黄色”: “关”}, “TEST2”:{ “红色”: “上”, “绿色”: “关”, “黄色”: “关”}}
我用下面的代码迭代了这个:
JSONObject t = JSON.parse(params.myObject)
t.each { id, data ->
println id
println data.red
println data.green
println data.yellow
}
但是,有时我可以在JSON对象中拥有动态不同的值。例如(添加了新颜色):
{ “测试”:{ “红色”: “上”, “绿色”: “关”, “黄”: “上”, “粉红色”: “上”}, “测试1”:{ “红” : “关”, “绿色”: “上”, “黄”: “关”, “粉红色”: “上”}, “测试2”:{ “红”: “上”, “绿色”: “关” , “黄色”: “关”, “粉红色”: “上”}}
问题
有没有办法迭代所有的json而不用硬编码我的代码中的颜色?
答案 0 :(得分:3)
JSONObject t = JSON.parse(params.myObject)
t.each { id, data ->
println id
data.each { prop, value ->
println prop + " = " + value
}
}
答案 1 :(得分:0)
我明白了。
我可以简单地以类似的方式迭代值:
t.each { id, data ->
println id
data.each {id1, d ->
println id1
println d
}
}