2016-09-02 3 views
-1

Ich muss die JSON-Datei laden und durchlaufen es in einer Schleife. Hier ist die jsonWie lade ich JSON-Datei in CasperJS-Skript, um durchzulaufen?

test.json:

[ 
    ["AA", "1112223333"], 
    ["AM", "2223334444"], 
    ["BF", "3334445555"], 
    ["CP", "4445556666"], 
    ["JB", "5556667777"], 
    ["TC", "6667778888"], 
    ["TT", "7778889999"] 
] 

Das Casper Skript:

var casper = require('casper').create({ 
    logLevel: 'debug' 

}); 

var json = require('test.json'); 
console.log(json); 
require('utils').dump(json); 

schließlich sehe ich es als ein Array laden ebenso wie die Datei im Wesentlichen. Dann werde ich die Variable durchlaufen und die Anfangs- und Telefonnummer im Skript verwenden.

+0

Sie würden dies in der gleichen Weise tun, die Sie durch ein normales JS-Array durchlaufen. Haben Sie 'json.forEach()' oder eine einfache 'for'-Schleife ausprobiert? Gibt es ein Problem, von dem du uns nichts erzählst? –

+0

@ ArtjomB. Ich verstecke keine Probleme. Ich bin nur sehr sehr neu in Javascript und weiß nicht, wie man den JSON in einer Weise lädt, dass es verwendbar ist. Ich weiß, wie es in Python funktionieren würde ... nur nicht JS :) – Mxracer888

Antwort

1

Sie können versuchen, "jeder" -Funktion (here)

Hier ist ein Beispiel-Code.

var casper = require('casper').create({ 
    logLevel: 'debug' 
}); 
var json = require('test.json'); 
casper.start().each(json, function(self, item, index) { 
    this.echo(item[1]); 
    // Also you can use index to filter the items inside array. 
}).run(); 
+0

Das hat funktioniert! Danke für die Hilfe! – Mxracer888

+0

Ohne zu wissen, wofür das ist, scheint das ein Overkill zu sein, denn 'json' ist ein natives JavaScript-Array und hat die 'forEach'-Funktion. Auch eine einfache 'for'-Schleife würde funktionieren. –