项目中遇到处理JSON数据的需求,需要传入动态参数查找符合要求的数据项,然后输出特定key的value,在此记录一下
下面是待处理JSON数据示例
{
"code": 200,
"message": "",
"data": {
"content": [
{
"type": "iPhone",
"number": "0123-4567-8888"
},
{
"type": "home",
"number": "0123-4567-8910"
}
]
}
}
需求是动态传入type的数据,输出number的值,下面是实现方式
//首先导入JsonPath的MAVEN依赖
Long number = JsonPath.read(resultJson,"$.data.content[?(@.type=='"+type+"')].number");
//在service层使用,通过type传入参数进行查找,输出特定type的number
若接收JSON格式的字符串,可使用JsonPath的API进行操作,参考JsonPath的github页面