如何解决JSONPath表达式以连接两个或多个JSONPath值
我有以下JSON数据。我有JPath可以读取 FirstName 和 LastName ,但是无法使用单个JSONPath表达式读取两个值。有人可以在这里帮助我读取两个元素的值吗?
我想使用JSONPath表达式读取为Name = Rob | Long。我尝试了几种组合但没有用
{
"attributes": {
"type": "Contacts","url": "/services/data/v36.0/sobjects/Contact/abc123"
},"Id": "abc123","Salutation": "Mr.","FirstName": "Rob","LastName": "Long"
}
预先感谢
解决方法
尝试使用JayWay JsonPath:
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.4.0</version>
</dependency>
这应该可以解决问题:concat($.FirstName,"|",$.LastName)
但是,它似乎不适用于其他JsonPath实现。
,使用Bazaarvoice/ jolt可以轻松实现
--------JSON Input
{
"attributes": {
"type": "Contacts","url": "/services/data/v36.0/sobjects/Contact/abc123"
},"Id": "abc123","Salutation": "Mr.","FirstName": "Rob","LastName": "Long"
}
--------------spec
[
{
"operation": "modify-default-beta","spec": {
// String join the values in the array x,with a comma and a space
"fullName": "=concat(@(1,FirstName),'|',@(1,LastName))"
}
}
]
--------------------output
{
"attributes" : {
"type" : "Contacts","url" : "/services/data/v36.0/sobjects/Contact/abc123"
},"Id" : "abc123","Salutation" : "Mr.","FirstName" : "Rob","LastName" : "Long","fullName" : "Rob|Long"
}
尝试一下版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。