Reputation: 105
Currently I need to process some json results based on configuration but not hard code.
For example, with the json as follows
{
data: [{
orderNo: "CG8310150",
details: [{
skuId: 4384,
amount: 2
}, {
skuId: 4632,
amount: 5
}]
}, {
orderNo: "CG8310151",
details: [{
skuId: 4384,
amount: 3
}]
}]
}
I want the result as follows
[{
orderNo: "CG8310150",
skuId: 4384,
amount: 2
}, {
orderNo: "CG8310150",
skuId: 4632,
amount: 5
}, {
orderNo: "CG8310151",
skuId: 4384,
amount: 3
}]
If anyone has the solution with Jayway JsonPath, or has any suggestion of other tools, please let me known.
Thanks for your help!
Upvotes: 4
Views: 5389
Reputation: 47915
You can project results from that JSON using JsonPath. For example:
$['data'][*]['orderNo']
returns:
["CG8310150","CG8310151"]
$['data'][*]['details'][*]['skuId', 'amount']
returns:
[{"skuId":4384,"amount":2},{"skuId":4632,"amount":5},{"skuId":4384,"amount":3}]
But you cannot combine both of those expressions in one pass through JsonPath so you cannot use JsonPath to return your target output.
Upvotes: 6