2016-07-25 24 views
-1

ich eine lange Liste von Daten, in folgendem Format:Grabbing eine Reihe von JSON

[ 
{ 
    "ID": "1234", 
    "date/time": "2016-07-18 18:21:44", 
    "source_address": "8011", 
    "lat": "40.585260", 
    "lng": "-105.084420", 
} 
] 

Und ich schaffe ein Skript die Werte aus jeder Zeile zu extrahieren. Zum Beispiel, wenn eine Zeile "ID" enthält: Ich möchte den Wert "1234" in einer Variablen speichern können, damit ich sie in einem anderen Format speichern kann.

Hier ist mein Code „ID“ zu erkennen:

'use strict'; 

let lineReader = require('line-reader'); 

//.JSON variables from input file 
let id; 


//begin creating new object 
console.log('var source = {'); 
//output the file 
lineReader.eachLine('dataOut.json', function (line, last) { 

    //detect ID, and print it out in the new format 
    if (id =~ /^id:$/) { 
     console.log('id: "') + console.log('",'); 
    } 

    //done 
    if (last) { 
     console.log('}'); 
     return false; // stop reading 
    } 
}); 

Sobald ich die ID erkennen, ich bin nicht sicher, wie ich den Wert erhalten, der die „ID“ auf dieser Linie folgt.

Wie kann ich die Werte in einer Zeile speichern, nachdem ich festgestellt habe, auf welcher Zeile sie stehen?

+2

Sie nicht "von json greifen". Sie dekodieren die JSON, und dann wird es eine einfache alte Javascript Datenstruktur, wie jeder andere auch. –

+0

Danke! Entschuldigen Sie die Frage, aber haben Sie ein Beispiel, das ich mir ansehen kann, um eine bessere Vorstellung davon zu bekommen, wie Sie das umsetzen können, was Sie sagen? – Edon

+0

Das Beispiel ist in jeder Diskussion von 'JSON.parse', oder wie man auf Eigenschaften in JavaScript-Objekten zugreifen kann, und/oder wie man JSON von einem Knotenprogramm 'erfordert'. –

Antwort

3

Es sei denn Ihre json Datei ist dumm groß, Sie können es nur verlangen, und dann ist es ein im Speicher JS-Objekt.

var obj = require('./dataOut.json'); 

// first element 
console.log(obj[0]); 
+1

interessant! Ich hatte keine Ahnung, dass das gemacht werden könnte, mein JSON ist nicht so groß, das könnte funktionieren – Edon