【问题标题】:How to handle dynamic JSON elements in Groovy如何在 Groovy 中处理动态 JSON 元素
【发布时间】:2013-02-20 03:24:37
【问题描述】:

我有类似下面的 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, 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" ,"黄色":"关","粉色":"开"}}

问题

有没有一种方法可以遍历所有 json 而无需在我的代码中对颜色进行硬编码?

【问题讨论】:

    标签: java grails groovy


    【解决方案1】:
    JSONObject t = JSON.parse(params.myObject)
    t.each { id, data ->
        println id
        data.each { prop, value ->
           println prop + " = " + value
        }
    }
    

    【讨论】:

      【解决方案2】:

      我想通了。

      我可以简单地以类似的方式迭代这些值:

          t.each { id, data ->
              println id
              data.each {id1, d ->
                  println id1
                  println  d
              }
          }
      

      【讨论】:

        猜你喜欢
        • 2021-04-25
        • 2017-04-30
        • 1970-01-01
        • 2014-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-29
        相关资源
        最近更新 更多