2016-09-22 4 views
0

Ich bin ein wenig neu in NativeScript und JSON und ich habe ein wenig Probleme beim Zugriff auf die Daten in meiner JSON-Datei. Im Moment versuche ich nur einige der Daten zu protokollieren.Zugriff auf JSON-Daten NativeScript

Hier ist der Code aus meiner Sicht-Modell ist:

var config = require("../../shared/config"); 
var fetchModule = require("fetch"); 
var ObservableArray = require("data/observable-array").ObservableArray; 

function StandingsListViewModel(items) { 
var viewModel = new ObservableArray(items); 

viewModel.load = function() { 
    var url = config.apiURI + "getStandings.cfm?weekid=397"; 
    console.log(url); 
    return fetch(url) 
    .then(handleErrors) 
    .then(function(response) { 
     console.log(response.json()); 
     return response.json(); 
    }) 
    .then(function(data) { 
     console.log("hit"); 
     data.Result.forEach(function(standing) { 
      console.log(standing.place); 
      console.log(standing.username); 
     }); 
    }); 
}; 

return viewModel; 
} 

function handleErrors(response) { 
if (!response.ok) { 
    console.log(JSON.stringify(response)); 
    throw Error(response.statusText); 
} 
return response; 
} 

module.exports = StandingsListViewModel; 

Und die JSON-Datei, die ich Referenzierung:

{ 
    "hiding": 0, 
    "lastupdate": 1474481622, 
    "refresh": 600, 
    "showmax": 0, 
    "showtie": 1, 

    "displayColumns" : [ 
     "Points" 
     ,"Wins" 
     ,"TieDif" 

    ], 
    "users" : [ 

     { 
      "memberid" : 910089, 
      "username" : "THE DAILY ROUTINE", 
      "last_entry" : "1473446820", 
      "place" : "1", 
      "record" : [ 
      "1.0" 
      ,"1" 
      ,"10.0" 

      ] 
     } , 
     { 
      "memberid" : 2234158, 
      "username" : "MR. MANAGER", 
      "last_entry" : "1473277680", 
      "place" : "2", 
      "record" : [ 
      "1.0" 
      ,"1" 
      ,"26.0" 

      ] 
     } 
    ] 
} 

Ich weiß, das sehr einfach wohl etwas ist, geschätzt jede mögliche Hilfe .

Antwort

2

Wahrscheinlich passiert, dass Sie die Daten bekommen, aber Sie protokollieren es nicht, so dass Sie es sehen können. Sie tun:

console.log(response.json()); 

versuchen zu tun

console.dump(response.json()); 

Dump-Ausgänge json, log protokolliert eine Zeichenfolge. Entweder string dein json, oder benutze console.dump.

Wenn das nicht funktioniert, versuchen Sie, Ihre Kopfzeilen zu setzen.

+0

Ich fand heraus, dass der Fehler von mir kam, der .json() auf einer Antwort anruft, die bereits ein JSON-Objekt war (TypeError: Bereits gelesen). Vielen Dank für die Antwort, ich werde definitiv die console.dump() in Zukunft verwenden. – SunnyBCC