我有一个Siddhi扩展名,返回下一个信息,例如:
{
"licenseKey": "WxyzChXjhJ-dgjfZfHnL9-bWd4e2vxjD-eIs5hDu0To-VOxL111BAj",
"siteUrl": "http://www.URL.net/",
"clientPublicId": "CLIENT1",
"host": "www.urlclient.net"
}
{
"licenseKey": "WxyzChXjhJ-dgjfZfHnL9-bWd4e2vxjD-eIs5hDu0To-VOxL111BAj",
"siteUrl": "http://www.URL2.net/",
"clientPublicId": "CLIENT2",
"host": "www.urlclient2.net"
}
我希望将此信息存储在Stream中,并且我希望使用属性" clientPublicId"来获取过滤器信息。
我正在使用下一个代码,wlist:whitelist()是我的扩展名Siddhi。
from sensorStream[temperature>98.6]
select wlist:whitelist() AS arreglo
insert into outputStream;
我的问题是outputStream是使用名为" arreglo"的属性创建的,所以我无法通过clientPublicId进行过滤。
请帮助我。
答案 0 :(得分:0)
如果你想在Siddhi中处理JSON或XML,那么你可以在Siddhi中使用'map'扩展支持。您可以使用google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
"use strict";
var result1 = document.getElementById('finalScore').value;
var result2 = document.getElementById('finalScoreD').value;
var data = google.visualization.arrayToDataTable([
['Quality', 'Delivery'],
[ 0, 0],
[ 'result1', 'result2']
]);
var options = {
title: '',
hAxis: {title: 'Quality', minValue: 0, maxValue: 1, gridlines: { count: 3, color: '#000000' }, titleTextStyle: {italic: false}},
vAxis: {title: 'Delivery', minValue: 0, maxValue: 1, gridlines: { count: 3, color: '#000000'}, titleTextStyle: {italic: false}},
width: 370,
height: 300,
colors: ['#6db33f'],
pointSize: 30,
pointShape: 'circle',
fontName: 'proximaNovaLight',
fontSize: '15',
backgroundColor: { fill:'transparent' },
legend: 'none',
};
var chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));
}
创建地图,然后通过map:createFromJSON(<string> JSONstring)
访问这些值。请注意,您必须在使用map:get(<Map> map, <Object> key)
之前投射地图的输出。
例如:cast(<object> toBeCasted, <string> castTo)
希望这可以解决问题。