2016-10-19 1 views
-2

Ich überprüfte jede Stack-Überlauflösung dafür. Auf AJAX-Anfrage gibt PHP JSON-Daten zurück, aber es hat mehrere JSON-Daten.Mehrere JSON-Daten

var json = '[{"key":"amazon"},{"key":"a a"},{"key":"a and w"},{"key":"a aa"},{"key":"a and e"},{"key":"a aa movie"},{"key":"a aa songs"},{"key":"a aa telugu movie"},{"key":"a aa full movie"},{"key":"a and f"}][{"key":"a beautiful mind"},{"key":"a boogie"},{"key":"a bigger splash"},{"key":"a bronx tale"},{"key":"a brief history of time"},{"key":"a bola"},{"key":"a bugs life"},{"key":"a bientot"},{"key":"a bathing ape"},{"key":"a beautiful mess"}]'; 

      console.log(JSON.parse(json)); 

      $.each(JSON.parse(json), function(idx, obj) { 
       console.log(obj.key); 
      }); 

in var JSON gibt es zwei Sätze einer [] und zweiten [], die Probleme verursacht, iterieren. Wenn es nur einen Satz [] hat, funktioniert es gut.

PHP-Code:

foreach($str as $key => $keyword){ 
    $finalData[$key]['key'] = $keyword; 
} 
print_r(json_encode($finalData)); 

Hinweis: Es kann Daten zurück mit mehr als 100 von [], aber in obigem Beispiel erwähne ich zwei gerade.

Bitte helfen Sie mir aus.

+1

Ihre JSON-Zeichenfolge ist einfach nicht gültig JSON, da es nur eine Verkettung von JSON-Arrays ist. Woher bekommst du die Saite? dieser bestimmte Code muss behoben werden. –

+0

Ich habe den betreffenden PHP-Code hinzugefügt, bitte überprüfen Sie ihn. – tombmax

+0

das ist nicht der komplette PHP-Code in Frage. Ich würde wetten, dass es irgendwo in einer Schleife ist - würdest du auch diesen Teil des Codes zeigen? auch: * warum * verwendest du print_r? –

Antwort

1

Was Sie erstellen möchten, ist ungültiger JSON.

Bitte wickeln Sie Ihre zwei [] mit einem anderen [] und Komma zwischen beiden []. Verweisen Sie den Code unten.

//Sample Code and data 
 

 
var json = '[[{"key":"amazon"},{"key1":"amazon1"}],[{"key":"amazon"},{"key1":"amazon1"}]]'; 
 

 
console.log(JSON.parse(json));

Wenn mehr Hilfe benötigt, ich bin glücklich zu helfen.

Danke, Happy Coding.

+0

nur Wrapping sie nicht helfen, er würde auch ein Komma dazwischen hinzufügen, die seine Beispieldaten nicht enthalten –

+0

$ .Each (JSON.parse (JSON), Funktion (idx, Obj) { console.log (obj.key); }); idx ist ein Schlüssel und obj ist das aktuelle Element jedes Arrays. Bitte drucken Sie es wie console.log (obj) für das aktuelle Objekt und console.log (key) für den aktuellen Schlüssel. –

+0

@FranzGeichmann Sicher habe ich in der Antwort zu erwähnen, aber in meinem Code hinzugefügt. Danke, dass du es erwähnt hast. –

Verwandte Themen