如何在 siddhi 中加载 json 多级?
how can I load json multilevel in siddhi?
我正在尝试加载具有多级值的 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": {}
}
}
我想获取 parkingMax 和 freeParking 的值字段。
最后,将减去这些值并打印出来。
非常感谢。
此致
您可以使用 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/
谢谢
您可以使用自定义映射获取这些值。
@source(type=<type>, receiver.url=<your_url>, @map(type = 'json',
@attributes(parkingMax = '$.parkingMax.value', freeParking = '$.freeParking.value')))
define stream InputStream (parkingMax long, freeParking long);
我正在尝试加载具有多级值的 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": {}
}
}
我想获取 parkingMax 和 freeParking 的值字段。
最后,将减去这些值并打印出来。
非常感谢。
此致
您可以使用 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/
谢谢
您可以使用自定义映射获取这些值。
@source(type=<type>, receiver.url=<your_url>, @map(type = 'json',
@attributes(parkingMax = '$.parkingMax.value', freeParking = '$.freeParking.value')))
define stream InputStream (parkingMax long, freeParking long);