Код (Text): {"STATUS":"OK","DATA":[{"tovar_id":"20100922143336949660000558362997","nameRus":"ремень ГРМ Niss Micra 1.0 -K10 89-92","manuf_descr":"GATES","tovar_code":"5288"},{"tovar_id":"20100929153647397444000571464218","nameRus":"опора шаровая нижн. D=38,3мм K=18мм Logan","manuf_descr":"SIDEM","tovar_code":"5288"},{"tovar_id":"20110301130717396482000959720608","nameRus":"Генератор","manuf_descr":"SPIDAN","tovar_code":"5288"},{"tovar_id":"20110317171144719709001005935896","nameRus":"часть глуш.","manuf_descr":"ATOY OY","tovar_code":"5288"},{"tovar_id":"20110804174637902456000402566545","nameRus":"Тормозной диск","manuf_descr":"PILENGA","tovar_code":"5288"}]} есть вот такой ответ от сервера! Блин делаю обработку его не чего не выходит дохожу до простых проверок на вывод хотябы: Получается только так! Код (Text): $kol = iconv("windows-1251", "UTF-8", $content); $ab = json_decode($kol); print_r($ab); И выводит только так Код (Text): stdClass Object ( [STATUS] => OK [DATA] => Array ( [0] => stdClass Object ( [tovar_id] => 20100922143336949660000558362997 [nameRus] => ремень ГРМ Niss Micra 1.0 -K10 89-92 [manuf_descr] => GATES [tovar_code] => 5288 ) [1] => stdClass Object ( [tovar_id] => 20100929153647397444000571464218 [nameRus] => РѕРїРѕСЂР° шаровая РЅРёР¶РЅ. D=38,3РјРј K=18РјРј Logan [manuf_descr] => SIDEM [tovar_code] => 5288 ) [2] => stdClass Object ( [tovar_id] => 20110301130717396482000959720608 [nameRus] => Генератор [manuf_descr] => SPIDAN [tovar_code] => 5288 ) [3] => stdClass Object ( [tovar_id] => 20110317171144719709001005935896 [nameRus] => часть глуш. [manuf_descr] => ATOY OY [tovar_code] => 5288 ) [4] => stdClass Object ( [tovar_id] => 20110804174637902456000402566545 [nameRus] => РўРѕСЂРјРѕР·РЅРѕР№ РґРёСЃРє [manuf_descr] => PILENGA [tovar_code] => 5288 ) ) ) Но это даже не в этом вопрос! Я не могу допереть как мне уже такие вот полученные данные которые прошли djson_decode Засунуть в таблицу! как я понимаю тут какая то вложенность, так как смотрел через онлайн конверторы Но и тут еще какая то фигня насколько я икал уже по этому вопросу ответы в гугл Есть еще проблема когда появляются во вложенности ковычки двойные! Вообщем люди добрые прошу от Вас как всегда помощи! Сам стараюсь иногда тоже их давать по мере своего ума)))
Дак мне то нужны поля в таблицу Допустим [tovar_id] - и пошли строчки следующий столбец [manuf_descr] итд вот мне не понятно! Я в массив то перегонял все это! Но как потом по нему то идти!
В мануал трудно заглянуть? Там показывается прямо как и что. Код (PHP): $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); Код (PHP): object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } [vs] второй параметр относится к boolean, а не к целым числам, но факт он преобразует, но лучше конечно писать: json_decode($kol, true);
Код (Text): $kol1 = iconv("windows-1251", "UTF-8", $content); $ab = json_decode($kol1, true); //var_dump(json_decode($kol1)); //var_dump(json_decode($kol1, true)); //print_r($ab); foreach ($ab as $i) { echo $i->STATUS."<br>"; } Почему вот этот кусок кода не работает?
Просто я с JSON сталкиваюсь второй раз в первый я разобрался опять же с помощью наших пользователей. А этот json отличается от того с которым я столкнулся в первый раз! Отличия вот в этом и мне кажется что именно из за этого я стою на месте {"STATUS":"OK","DATA": Добавлено спустя 10 минут 37 секунд: Можете пожалуйста написать как вывести из этого json параметры например [manuf_descr]
Включи вывод ошибок! Будет написано в чем ошибка. Мы то и так видим, но ты должен чему-то научиться сам.
Код (PHP): $json='{"STATUS":"OK","DATA":[{"tovar_id":"20100922143336949660000558362997","nameRus":"ремень ГРМ Niss Micra 1.0 -K10 89-92","manuf_descr":"GATES","tovar_code":"5288"},{"tovar_id":"20100929153647397444000571464218","nameRus":"опора шаровая нижн. D=38,3мм K=18мм Logan","manuf_descr":"SIDEM","tovar_code":"5288"},{"tovar_id":"20110301130717396482000959720608","nameRus":"Генератор","manuf_descr":"SPIDAN","tovar_code":"5288"},{"tovar_id":"20110317171144719709001005935896","nameRus":"часть глуш.","manuf_descr":"ATOY OY","tovar_code":"5288"},{"tovar_id":"20110804174637902456000402566545","nameRus":"Тормозной диск","manuf_descr":"PILENGA","tovar_code":"5288"}]}'; $json=json_decode($json,true); echo $json['DATA'][0]['tovar_id'].' -> '.$json['DATA'][0]['manuf_descr']; Если интересно гляньте) http://publib.boulder.ibm.com/infoc...sp?topic=/com.ibm.etools.mft.doc/bc28414_.htm
Вот теперь мне понятно!)Спасибо! Вывод ошибок я включил когда свой код пробовал выдавало вот так: Код (Text): Notice: Trying to get property of non-object in Z:\home\streetauto.ru\www\proba\test.php on line 24 Что это значит я не пойму! Если мне бестолковому еще это объясните то буду вообще благодарен!
Это ты, что-то не то вызываешь, видать, не объект говорит... Ну если ты хочешь объектно, а не массивом-это делается аналогична: Код (PHP): $json='{"STATUS":"OK","DATA":[{"tovar_id":"20100922143336949660000558362997","nameRus":"ремень ГРМ Niss Micra 1.0 -K10 89-92","manuf_descr":"GATES","tovar_code":"5288"},{"tovar_id":"20100929153647397444000571464218","nameRus":"опора шаровая нижн. D=38,3мм K=18мм Logan","manuf_descr":"SIDEM","tovar_code":"5288"},{"tovar_id":"20110301130717396482000959720608","nameRus":"Генератор","manuf_descr":"SPIDAN","tovar_code":"5288"},{"tovar_id":"20110317171144719709001005935896","nameRus":"часть глуш.","manuf_descr":"ATOY OY","tovar_code":"5288"},{"tovar_id":"20110804174637902456000402566545","nameRus":"Тормозной диск","manuf_descr":"PILENGA","tovar_code":"5288"}]}'; $json=json_decode($json); echo $json->DATA[0]->manuf_descr;
Ваши примеры работают! Просто советовал включить мне вывод ошибок! Когда я сам пытался!Вот я и включил)) Все спасибо большое за помощь)))
Если я правильно конечно понял то в ошибке глосится: "Что я пытаюсь получить что то не существующее" Вот!Но мысль то моя была правильной!Что я встал именно на том, что в моем ответе от сервера появился вот такой Код (Text): "STATUS":"OK","DATA":
У тебя есть: - текст ошибки, где говорится "это не объект" и номер строки где косяк; - отладочный вывод var_dump. У тебя есть всё, чтобы понять -- эту строку надо написать иначе. Дальше нужны самые базовые знания языка: элементы массива добываются вот так, а поля объекта вот так. Найди учебник. Игорь, забань пацана чтобы у него было время на учебу!