Java 如何在Groovy中处理动态JSON元素
我有一个类似于以下内容的JSON: {“test”:{“red”:“on”,“green”:“off”,“yellow”:“on”},“test1”:{“red”:“off”,“green”:“on”,“yellow”:“off”},“test2”:{“red”:“on”,“green”:“off”,“yellow”:“off”} 我已经用下面的代码对其进行了迭代:Java 如何在Groovy中处理动态JSON元素,java,grails,groovy,Java,Grails,Groovy,我有一个类似于以下内容的JSON: {“test”:{“red”:“on”,“green”:“off”,“yellow”:“on”},“test1”:{“red”:“off”,“green”:“on”,“yellow”:“off”},“test2”:{“red”:“on”,“green”:“off”,“yellow”:“off”} 我已经用下面的代码对其进行了迭代: JSONObject t = JSON.parse(params.myObject) t.each { id,
JSONObject t = JSON.parse(params.myObject)
t.each { id, data ->
println id
println data.red
println data.green
println data.yellow
}
但是,有时我可以在JSON对象中动态地使用不同的值。例如(添加了新颜色):
{“test”:{“red”:“on”,“green”:“off”,“yellow”:“on”,“pink”:“on”},“test1”:{“red”:“off”,“green”:“on”,“yellow”:“off”,“pink”:“on”},“test2”:{“red”:“on”,“green”:“off”,“yellow”:“off”,“pink”:“on”}
问题
有没有一种方法可以在不硬编码代码中颜色的情况下迭代所有json 我明白了
我可以简单地以类似的方式迭代这些值:
t.each { id, data ->
println id
data.each {id1, d ->
println id1
println d
}
}
JSONObject t = JSON.parse(params.myObject)
t.each { id, data ->
println id
data.each { prop, value ->
println prop + " = " + value
}
}