[英]Groovy: JSON Parsing
看到一個有趣的問題,不確定這與解析器或它假設的解析方式有關。 任何幫助表示贊賞
import groovy.json.JsonSlurper
def dMatch = '''[{"match":{"keyId":"A-102161-application"}},{"match":{"keyId":"A-102162-application"}},{"match":{"keyId":"A-102163-application"}},{"match":{"keyId":"A-102164-application"}},{"match":{"keyId":"A-102165-application"}}]'''
println "T1:: List: " + dMatch
def parser = new JsonSlurper()
def exclude = parser.parseText(dMatch)
println "T2:: Obj: " + exclude.toString()
println "----------------------------------------------------"
Output:
T1:: List: [{"match":{"keyId":"A-102161-application"}},
{"match":{"keyId":"A-102162-application"}},
{"match":{"keyId":"A-102163-application"}},
{"match":{"keyId":"A-102164-application"}},
{"match":{"keyId":"A-102165-application"}}]
T2:: Obj: *[[match:[keyId:A-102161-application]],
[match:[keyId:A-102162-application]],
[match:[keyId:A-102163-application]],
[match:[keyId:A-102164-application]],
[match:[keyId:A-102165-application]]]*
解析后的 object 應該與字符串相同,但所有值都被轉換為 map 的數組列表。
知道為什么會這樣生成 object 嗎? 當它被發送到 camunda 時它會抱怨
org.camunda.bpm.engine.ProcessEngineException:無法在變量“排除”中序列化 object:groovy.json.internal.LazyMap
使用JsonSlurperClassic()
- 它生成可序列化的標准HashMap
。
如果你想將 object 轉換回 json 使用 Json output.toJson(obj)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.