我正在尝试加载具有多级值的JSON。例如:
{
"id": "parkingcity-02",
"type": "parking",
"parkingMax": {
"type": "Number",
"value": "100",
"metadata": {}
},
"descripcion": {
"type": "Text",
"value": "Parking number 2",
"metadata": {}
},
"freeParking": {
"type": "Number",
"value": "80",
"metadata": {}
}
}
我想将value字段设置为parkingMax和freeParking。
最后,将减去并打印这些值。
非常感谢您。
最诚挚的问候
答案 0 :(得分:1)
您可以使用siddhi-execution-json扩展[1]来满足您的要求。请在下面的示例siddhi代码中找到上述字段的摘要。
define stream InputStream(json string);
from IpStream
select json:getString(json,"$.parkingMax") as parkingMax, json:getString(json,"$.freeParking") as freeParking
insert into OutputStream;
请向您提供需要向输入流提供上述JSON的节点
[1]-https://wso2-extensions.github.io/siddhi-execution-json/api/latest/
谢谢
答案 1 :(得分:1)
您可以通过自定义映射获取这些值。
@source(type=<type>, receiver.url=<your_url>, @map(type = 'json',
@attributes(parkingMax = '$.parkingMax.value', freeParking = '$.freeParking.value')))
define stream InputStream (parkingMax long, freeParking long);