问题描述
我尝试了几种不同的方法来做到这一点。我有一个 JSON 字符串,我正在用 JSONSlurper 解析它,看起来像这样,我想用 key==StoreID2 来获取值。
{
"EmailData": {
"MessageRecords": [
{
"To": "[email protected]","FieldData": [
{
"key": "StoreName","value": "Livonia"
},{
"key": "StoreID2","value": "7017"
}
]
}
]
}
}
使用 JSONPath 我可以得到这样的值:$.EmailData.MessageRecords[0].FieldData[?(@.key=="StoreID2")].value
但看起来 Groovy 没有 JSONPath 可用,没有加载非本地库 (com.jayway.jsonpath.JsonPath.parse),它我尽量避免。
这实际上是解决方案:
def jsonSlurper = new JsonSlurper();
def jsonObject = jsonSlurper.parseText(inputSB.toString());
logger.info("Store: " + jsonObject.EmailData.MessageRecords[0].FieldData.find{it.key=='StoreID2'}.value);
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)