2017-01-12 1 views
0

Es ist so komisch, dass ich seit drei Tagen daran arbeite, im Web nach einer Lösung zu suchen und meine eigenen Änderungen vorzunehmen, aber immer noch kein Glück. Ich versuche, Amazon Produkte mit Laravel und diesem tollen Paket von JoeDawson/amazon-ecs in meine Website zu holen. , wenn ich den Befehl von der Steuerung wie folgt weiter unten ausgeführt werden:JSON dekodieren, JSON-Antwort parsen und Undefined Index auf Integer-Wert

array:2 [ 
    "OperationRequest" => array:4 [ 
    ... 
    ] 
    "Items" => array:5 [ 
    ... 
    "Item" => array:10 [ 
     ... 
     "ItemAttributes" => array:22 [ 
      "Binding" => "Electronics" 
      "Brand" => "LG Electronics" 
      "Color" => "Black" 
      "EAN" => "8806087769050" 
      "EANList" => array:1 [ 
      "EANListElement" => "8806087769050" 
      ] 
      "Feature" => array:4 [ 
      0 => "High dynamic contrast ratio (5M:1) - richer colors, deeper blacks and greater depth of image" 
      1 => "Gaming and cinema modes - dedicated features to optimise viewing experiences" 
      2 => "USB AutoRun - media content from USB stick runs automatically as soon as TV is switched on" 
      3 => "Detachable base - easy way to wall mount your TV and enjoy a viewing experience while saving space" 
      ] 
      "ItemDimensions" => array:4 [ 
      "Height" => "226" 
      "Length" => "1560" 
      "Weight" => "948" 
      "Width" => "2526" 
      ] 
      "Label" => "LG" 
      "ListPrice" => array:3 [ 
      "Amount" => "19999" 
      "CurrencyCode" => "GBP" 
      "FormattedPrice" => "£199.99" 
      ] 
     ] 
    ] 
    ] 
] 

oder das gesamte Ergebnis ist hier: http://pastebin.com/TGFgCbAz

$results = Amazon::search('tv')->json(); 
dd($results) 

ich alle Daten von Amazon wie diese sehen können Aus meiner Sicht habe ich Zugriff auf alle Werte mit Ausnahme der Werte innerhalb ListPrice, die zurückgibt "Undefined Index"

habe ich versucht, die gleiche Sache auf der Steuerungsseite:

foreach ($amazon_results['Items']['Item'] as $amazon) { 
     print_r($amazon['ItemAttributes']['ListPrice']['FormattedPrice']); 
    } 

Dies gibt die Werte von FormattedPrice ersten wirft dann den gleichen Fehler.

£ 199.99 £ 34.99 £ 194.50 Whoops, sieht aus wie etwas schief gelaufen ist.

1/1 Error in HomeController.php Linie 24: Undefined index: Listprice

Warum bin ich nicht in der Lage, diesen Wert zu erhalten?

+0

Sie möchten die tatsächlichen Daten enthalten, die Sie zurück erhalten, nicht ein Auszug, der durch etwas oder anderes verarbeitet worden ist. Vielleicht 'var_dump ($ ergebnisse)'? – miken32

+0

Die JSON ist zu viel, die hier nicht hinzugefügt werden kann, aber ich werde den Beitrag mit den JSON-Daten aktualisieren, wie es gerade aussieht, danke – user2682025

+0

Eine gute Möglichkeit, ein Objekt im Array zu finden, wenn Sie verloren sind, ist die Funktion var_dump () Es könnte dir vielleicht helfen. Ich hoffe es. –

Antwort

1

Hate, der Träger der schlechten Nachrichten zu sein, aber es ist einfach, dass es kein ListPrice Array für alle Elemente gibt. Die vollständige Dump, die Sie zur Verfügung gestellt haben, hatte zehn Elemente. Zwei von ihnen (Index 7 und Index 9) enthielten das ListPrice Array nicht. Ich würde vorschlagen, um sicherzustellen, dass es zuerst existiert:

+0

Danke Bro für alles – user2682025