2016-12-04 5 views
0

Ich versuche, eine API zu verwenden, um Daten in JSON-Form zu erhalten und sie an jQuery zu übergeben, um damit zu arbeiten, was ich bitte.Wie kann ich auf die Daten in dieser JSON-Struktur von jQuery zugreifen?

Meine JSON sieht aus wie

{ 
    "username": { 
     "id": 0001, 
     "name": "test", 
     "IconId": 000, 
     "Level": 00, 
     "revisionDate": 00000000 
    } 
} 

Von der PHP-Seite dies ist mein Code

$json = file_get_contents($url); 
$json = json_encode($json); 

Und aus meiner jQuery kann ich Daten erhalten, indem

<script type="text/javascript"> 
    var ar = <?php echo $json ?>; 
    document.write(ar); 
</script> 

mit Aber ich möchte spezifische Daten vom JSON erhalten können. Name zum Beispiel.

Ich habe versucht, wie diese

<script type="text/javascript"> 
    var ar = <?php echo $json ?>; 
    ar = jQuery.parseJSON(ar); 
    document.write(ar.name); 
</script> 

mit jQuery.parseJSON Und ich habe auch versucht,

<script type="text/javascript"> 
    var ar = <?php echo $json ?>; 
    ar = jQuery.parseJSON(ar); 
    document.write(ar[0].name); 
</script> 

ich entweder immer bekommen absolut nichts (leere Seite), oder ich "undefined".

Vielen Dank.

+0

Try document.write (ar.username.name); – Xinzoop

+2

Sie müssen auch auf den in den Daten vorhandenen "Benutzernamen" verweisen. 'document.write (ar.username.name)'. - [Zugriff/Prozess (verschachtelte Objekte, Arrays oder JSON]) (https://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or-json) –

+0

Versuchen Sie document.write (ar [0 ] .benutzername.name); – Harminder

Antwort

0
data={ 
    "username": { 
     "id": 0001, 
     "name": "test", 
     "IconId": 000, 
     "Level": 00, 
     "revisionDate": 00000000 
    } 
} 

console.log(data["username"]["name"]); 

//output test 
+0

Das funktioniert super, danke! – rohanharrison

+0

haben Sie 'JSON.parse' versucht. Ihre Antwort muss eine Zeichenfolge sein. – Rajesh

0

ar ist Ihre Objektreferenz. Von dort hat dieses Objekt eine einzige Eigenschaft namens username. Diese Eigenschaft speichert ein Objekt, das eine Eigenschaft namens name hat.

So benötigen Sie:

ar.username.name 
Verwandte Themen