2016-04-08 3 views
-1

Jemand hat irgendwelche Beispiele dafür, wie JSON (URL) mit Modified Java Script Value zu behandeln ist? Folgen Daten die ich von url json müssen:Jemand hat irgendwelche Beispiele dafür, wie JSON (URL) mit Modified Java Script Value zu behandeln ist?

{ 
 
"result": { 
 
"data": [ 
 
{ 
 
"name": "page1", 
 
"period": "dia", 
 
"values": [ 
 
{ 
 
"value": 4, 
 
"end_time": "2016-03-25" 
 
}, 
 
{ 
 
"value": 2, 
 
"end_time": "2016-03-26" 
 
}, 
 
{ 
 
"value": 0, 
 
"end_time": "2016-03-27" 
 
} 
 
], 
 

 
}, 
 
{ 
 
"name": "page2", 
 
"period": "dia", 
 
"values": [ 
 
{ 
 
"value": 22, 
 
"end_time": "2016-03-25" 
 
}, 
 
{ 
 
"value": 30, 
 
"end_time": "2016-03-26" 
 
}, 
 
{ 
 
"value": 88, 
 
"end_time": "2016-03-27" 
 
} 
 
], 
 

 
}
Ich brauche diese Datenzeilen erstellen. Grüße, Santana, Marcos

+0

Es ist wirklich nicht klar, was Sie tun möchten. –

+0

Was ist die Frage? – Peege151

Antwort

-1

Je nach den gewünschten Daten in den Zeilen könnte dies mit JSON Input besser und schneller erreicht werden. Zum Beispiel, wenn Sie schreiben $..value und $..end_time in Fields erstellt es die Zeilen.

Wenn Sie es in JavaScript tun wollen (aber hier gibt keinen Grund, warum dies nicht in JSON Eingang getan werden kann) hier ist ein Beispielskript, um loszulegen:

var obj = JSON.parse(json); 
datas = obj.result.data; 
for (var i = 0; i < datas.length; i++) { 
    var data = datas[i]; 
    for (var ii = 0; ii < data.values.length; ii++) { 
    var value = data.values[ii]; 
    var row = createRowCopy(getOutputRowMeta().size()); 
    var idx = getInputRowMeta().size(); 
    row[idx++] = value.value; 
    row[idx++] = value.end_time; 
    putRow(row); 
    } 
} 
trans_Status = SKIP_TRANSFORMATION; 

Denken Sie daran, die beiden Werte

hinzufügen Sie fügen der Zeile zu den Ausgabefeldern des Schrittes hinzu. Wert - Zeichenfolge und End_Zeit - Zeichenfolge.

+0

das wird nicht funktionieren, ist Ecmascript von Pentaho Wasserkocher, e4x, habe keine JSON.parse Funktion – jipipayo

+0

Dies wurde getestet, als ich die Antwort gepostet habe, und es hat funktioniert – bolav

+0

JSON.parse? uh! Welche Version von Pentaho verwendest du? – jipipayo

0

Danke für die Hilfe, Sie Recht, nicht brauchen js, nur json. Aber ich habe ein Problem. Fangen Sie die Namen, aber Wert und Daten nicht. Ich verwende: $ .. Datum []. Name $ .. Datum []. Werte (das Problem ist hier, es lädt die drei Werte (Wert, end_time) und benötigt nur einen. Ich habe versucht $ .value es gibt Fehler und zeigt dann, dass es mehr als einen Wert hat.

Ich habe es, ich benutzte einen Schritt Auswahlwert, Split Felder und Row Normaliser.

Thanks so much! Santana, Marcos

Verwandte Themen