代码之家  ›  专栏  ›  技术社区  ›  Joe Tobin

JSON生成器访问JSON数组中的变量

  •  0
  • Joe Tobin  · 技术社区  · 7 年前

    我想把“action”的值改为“1”。

    目前我的代码如下。

    import groovy.json.JsonBuilder
    import groovy.json.JsonSlurper
    
    def slurped = new JsonSlurper().parseText(vars.get("reqApproval"))
    def builder = new JsonBuilder(slurped)
    
    builder.content.action = "1"
    vars.put("reqApproval", builder.toPrettyString())
    

    JSON数组就是这样(多余的变量被删除)

     {
        "requisitionApprovals": [
            {
                "action": ""
            }
         ]
     }
    

    我不确定访问requisitionApprovals数组中的action字段的语法是什么。

    我当前的解决方案只是在数组外部添加了一个变量“action”,但我需要访问数组内部的变量。

    我试过下面所有的方法,但都不管用

    builder.content.requisitionApprovals.action = "1"
    builder.content.requisitionApprovals.[0].action = "1"
    builder.content.requisitionApprovals[0].action = "1"
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Joe Tobin    7 年前

    在数组索引前后需要一个空格,如下所示

    builder.content.requisitionApprovals.[ 0 ].action = "1"