【问题标题】:using '@' in groovy JsonBuilder在 groovy JsonBuilder 中使用“@”
【发布时间】:2016-07-11 10:35:26
【问题描述】:

我正在尝试在 groovy 中构造以下 json。

 {  
   "trace_id":123,
   "@timestamp":"455754534538",
   "body" : "abcd"
 }

以下是我用来尝试这个的代码sn-ps。

import groovy.json.JsonSlurper 
import groovy.json.JsonBuilder
def xmlPayload =  "payload";
def traceId = mc.getProperty('TraceIdProp');
def timeStamp = mc.getProperty('TimestampProp');
builder = new JsonBuilder()

def root = builder trace_Id: traceId, @timestamp: timeStamp, @version: 1, body: xmlPayload

但是,我似乎无法在 json 构建器中使用“@”字符,它给出了以下错误。

groovy: 8: expecting an identifier, found '@' @ line 8, column 51.
    = builder trace_Id: traceId, @timestamp

这在 groovy 中可以实现吗?

【问题讨论】:

    标签: json groovy


    【解决方案1】:

    在 Groovy 中,@field 具有特殊含义。您应该使用引号来使用此字符:

    def root = builder trace_Id: traceId, '@timestamp': timeStamp, '@version': 1, body: xmlPayload
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-03
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多