2017-05-16 2 views
0

I json Daten verfolgt haben,Für jede nicht für die JSON-Daten arbeiten

{"Key":"ar-SA","Value":"Arabic - Saudi Arabia","Key":"zh-HK","Value":"Chinese - Hong Kong SAR","Key":"zh-SG","Value":"Chinese - Singapore","Key":"en-AU","Value":"English - Australia","Key":"en-AT","Value":"English - Austria","Key":"en-BO","Value":"English - Botswana"} 

Aber für jeden funktioniert nicht den Code unten verwenden:

Ausführung nicht für jede Anweisung Eingabe in:

function fnsuccesscallback(data) { 
    var ddItems = data.d; 

    $.each(ddItems, function (index, ddItem) { 
        alert('key ' + ddItem.Key); 
        alert('value ' + ddItem.Value); 
       }); 
} 

Antwort

1

die beiden Argumente $.each() Funktion sind der Schlüssel und der Wert bzw. siehe

var ddItems = {"Key":"ar-SA","Value":"Arabic - Saudi Arabia","Key":"zh-HK","Value":"Chinese - Hong Kong SAR","Key":"zh-SG","Value":"Chinese - Singapore","Key":"en-AU","Value":"English - Australia","Key":"en-AT","Value":"English - Austria","Key":"en-BO","Value":"English - Botswana"} 
 

 
function fnsuccesscallback(data) { 
 
$.each(data, function (key, ddItem) { 
 
        console.log('key ' + key); 
 
        console.log('value ' + ddItem); 
 
       }); 
 
       
 
} 
 
    
 
fnsuccesscallback(ddItems);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

funktioniert immer noch nicht – SmartestVEGA

+0

console.log (data.d), um zu sehen, ob Sie die gleichen Daten haben, die Sie gepostet haben. In meiner Antwort ging ich davon aus, dass ddItems die Daten sind, die Sie gepostet haben, wenn Sie dann $ .each über Daten verwenden, stellen Sie auch sicher, dass Sie die Funktion –

+0

aufrufen, können Sie einen Fiddler hinzufügen? – SmartestVEGA

0

var data = {"Key":"ar-SA","Value":"Arabic - Saudi Arabia","Key":"zh-HK","Value":"Chinese - Hong Kong SAR","Key":"zh-SG","Value":"Chinese - Singapore","Key":"en-AU","Value":"English - Australia","Key":"en-AT","Value":"English - Austria","Key":"en-BO","Value":"English - Botswana"} 
 

 

 

 
$.each(data, function (key, value) { 
 
        alert('key ' + key); 
 
        alert('value ' + value); 
 
       });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

Warum nur eine Schleife läuft – SmartestVEGA

+0

Weil Sie den gleichen Schlüsselwert 'Key' haben. Daher würde nur der letzte Wert in der Ausgabe kommen. –

0

Ihre JSON-String war nicht in der richtigen Format, Korrekt diese und versuchen, diesen Code

$.parseJSON(Your json string) 

Die Zeichenfolge in Array konvertiert und Sie können Einfach Schleife jede Reihe

+0

können Sie bitte einen Geiger hinzufügen – SmartestVEGA