在groovy中构造JSON对象- Streamsets

w46czmvw  于 2022-11-21  发布在  其他
关注(0)|答案(1)|浏览(171)

我对Streamset还很陌生,我发现在Groovy Evaluator对象中构建JSON对象有点混乱和挑战。
我需要构建下面的JSON:

{
    "filter": "(equals(type,'my/specific/Type') and equals(attributes.number, '1234') and (equals(attributes.status,'ACTIVE'))",
    "max": 10
}

我试过这个:

import groovy.json.*

records = sdc.records
for (record in records) {
    try {
       event = "{"filter": "(equals(type,'my/specific/Type') and equals(attributes.number, '1234') and (equals(attributes.status,'ACTIVE'))","max": 10}"
       record.value = event

        // Write a record to the processor output
        sdc.output.write(record)
    } catch (e) {
        // Write a record to the error pipeline 
        sdc.log.error(e.toString(), e)
        sdc.error.write(record, e.toString())
    }
}

但我收到以下错误:
SCRIPTING_03 -脚本无法编译:脚本异常:异常错误:启动失败:Script1076.groovy:6:意外标记:和@第6行,第59列. uals(类型,'my/specific/Type'),并且等于^ 1错误'
请帮助解决这个问题。

brc7rcf0

brc7rcf01#

这不是JSON本身的问题,而是如何转义双引号字符。Groovy只不过是Java +一些语法糖,所以在Groovy中转义“字符是一样的:使用“,例如:

foo = "I use so called \"Groovy\" for that"

相关问题