Это настолько странно, что я работаю над этим в течение трех дней, просматривая веб-страницы, чтобы найти решение и внести свои изменения, но до сих пор не повезло. Я пытаюсь получить продукты amazon на свой сайт с Laravel и этот отличный пакет от JoeDawson/amazon-ecs. , когда я выполнить команду из контроллера, как это показано ниже:JSON decode, Parse JSON response и Undefined Index на целочисленном значении
$results = Amazon::search('tv')->json();
dd($results)
Я могу видеть все данные из Amazon, как это:
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"
]
]
]
]
]
Или весь результат здесь: http://pastebin.com/TGFgCbAz
На мой взгляд, у меня есть доступ ко всем значениям, кроме значений внутри ListPrice
, который возвращает «Неопределенный индекс»
@foreach ($results['Items']['Item'] as $amazon)
{{ $amazon['ItemAttributes']['Title'] }} //returns true with the value
{{ $amazon['ItemAttributes']['ListPrice']['FormattedPrice'] }} //returns Undefined index: ListPrice
@endforeach
Я попробовал то же самое на стороне контроллера:
foreach ($amazon_results['Items']['Item'] as $amazon) {
print_r($amazon['ItemAttributes']['ListPrice']['FormattedPrice']);
}
Это возвращает значения FormattedPrice первого затем бросает ту же ошибку.
£ 199,99 £ 34,99 £ 194,50 Ой, похоже, что-то пошло не так.
1/1 ErrorException в HomeController.php строке 24: Undefined индекс: ListPrice
Почему я не в состоянии получить это значение?
Возможно, вы захотите включить фактические данные, которые вы возвращаете, а не выдержку, которая была обработана чем-либо. Может быть, 'var_dump ($ results)'? – miken32
json слишком много, что не может быть добавлено здесь, но я буду обновлять сообщение с данными json, как это выглядит, спасибо – user2682025
Хороший способ найти объект в массиве, если вы потеряны, - это использовать функцию var_dump () это может помочь вам. Я надеюсь, что это так. –