2017-02-22 7 views
0

Ich entwickle eine Website mit getrennten Front-End- und Back-End-Funktionen. Ich benutzen jquery Anfrage zu senden und das Ergebnis als JSON-Objekt zu erhalten:Wie verwendet man jQuery um mehrere JSON-Objekte zu bearbeiten?

{ 
    "item": [ 

    ], 
    "shop": [ 

    ], 
    "user": [ 
    { 
     "user_id": "9", 
     "full_name": "Minh Duc", 
     "email": "[email protected]", 
     "fb_link": "https:\/\/www.facebook.com\/SieuNhan183", 
     "user_name": "Duc", 
     "password": "37cd769165eef9ba6ac6b4a0fdb7ef36", 
     "level": "0", 
     "admin": "0", 
     "dob": "1996-03-18", 
     "location": "Ho Chi Minh", 
     "user_image_url": null 
    } 
    ] 
} 

Nun ich einen Weg zu finden bin die Daten aus dem Benutzer-Objekt zu erhalten. Wie kann ich es mit Javascript machen?

+0

$ jsonObject.user [0] wäre das gewünschte Benutzerobjekt. Benutzen . (Punkt), um auf die gewünschte Objekteigenschaft zuzugreifen –

+0

[Es gibt kein "JSON-Objekt"] (http://benalman.com/news/2010/03/theres-no-such-thing-asa- json /) – Andreas

Antwort

2

Wenn Sie die Daten haben (in Beispiel ist es in data) verwenden Sie die Punktnotation, um den Knoten mit dem Benutzer zu erhalten.

Der Benutzer ist ein Array, also verwenden Sie [] für den Zugriff auf ein einzelnes Element, z. [0]

var data = { 
 
    "item": [ 
 

 
    ], 
 
    "shop": [ 
 

 
    ], 
 
    "user": [ 
 
    { 
 
     "user_id": "9", 
 
     "full_name": "Minh Duc", 
 
     "email": "[email protected]", 
 
     "fb_link": "https:\/\/www.facebook.com\/SieuNhan183", 
 
     "user_name": "Duc", 
 
     "password": "37cd769165eef9ba6ac6b4a0fdb7ef36", 
 
     "level": "0", 
 
     "admin": "0", 
 
     "dob": "1996-03-18", 
 
     "location": "Ho Chi Minh", 
 
     "user_image_url": null 
 
    } 
 
    ] 
 
} 
 

 

 
console.log(data.user[0].user_id)

3

Ergänzung @arcs Antwort, denken Sie daran, dass in Javascript Sie Mitglieder eines Objekts unter Verwendung von Punktnotation (data.user[0].user_id) oder eckigen Klammern Schreibweise zugreifen können. Auf diese Weise:

data['user'][0]['user_id'] 

dies ist nützlich, weil Sie eine ‚Klasse‘ Array und dann Dinge wie:

['item', 'shop', 'user'].forEach((array) => processArray(data[array][0])); 

dann können Sie nur einige Klassen filtern oder fortgeschrittenere Sachen

0
tun

ziehe ich diese eckigen Klammern wie verwenden:

$jsonObject["user"][0]["user_id"] 

aber Sie können den Punkt wie folgt verwenden:

data.user[0].user_id 

ist das Gleiche.

Wenn Sie überprüfen, ob Eigentum existieren Sie es tun können:

if(typeof $jsonObject["user"] !== 'undefined'){ 
    //do domethings as typeof $jsonObject["user"][0]["user_id"] 
} 

Wenn Sie Eigenschaft erhalten wollen dinamically können Sie es tun:

const strId = "id"; 
const strName = "name"; 

//get user_id 
let user_id = $jsonObject[user][0]["user_" + strId ]; 
//get user_name 
let user_name = $jsonObject[user][0]["user_" + strName]; 

aber es ist nicht sehr hübsch.

Verwandte Themen