Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
87 / 22 / 7
Регистрация: 23.09.2012
Сообщений: 671
1

Работа PHP и JSON

26.08.2014, 20:10. Показов 3713. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, учусь работать с JSON.
Есть API на стороннем сайте, назовем его аписайт.ру, запрос для сайта выглядит так:
http://аписайт.ру/api/cat_id?key=123
В итоге выводиться:
JSON
1
2
3
4
5
6
7
8
9
10
{
    "cat_id": {
        "id": 0,
        "shop": [
            [
                {
                    "id": "1",
"name": "Первая категория",
                
                },
Скажите как получить name в PHP? Чтобы появилось "первая категория"?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.08.2014, 20:10
Ответы с готовыми решениями:

Работа с JSON в PHP
Как в PHP работать с данными в формате JSON?

PHP json_decode (json или не json)
Третий день ломаю голову над вопросом: API вконтакте возвращает массив в json (как я полагаю) -...

Php!? Передача json в php
почему такой код не срабатывает: <?php include("includer.php"); $razdel =...

PHP скрипт -> Json -> выбор пользователя -> AJAX -> первоначальный PHP скрипт
Доброго времени суток! Я новичек вэб программировании, так что прошу строго не судить(в гугле...

23
87 / 22 / 7
Регистрация: 23.09.2012
Сообщений: 671
26.08.2014, 21:49  [ТС] 21
Author24 — интернет-сервис помощи студентам
Теперь работает. НО (( это не все. В JSONе лежит не 1 данные, а много. Нужно достать все с ID 1. Как сделать? Понимаю что с foreach, но башка совсем не варит. Чуть толкните меня в нужном направлении...
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
26.08.2014, 21:54 22
foreach здесь не поможет. Вернее, может помочь, но это не тот путь
Вангую, что должно быть как-то так
PHP
1
2
3
4
5
if(!empty($json['cat_id']['shop']))
    for($i = 0, $cnt = count($json['cat_id']['shop']); $i < $cnt; ++$i)
        echo $json['cat_id']['shop'][$i][0]['name'];
else
    echo 'Not found..';
1
87 / 22 / 7
Регистрация: 23.09.2012
Сообщений: 671
26.08.2014, 22:03  [ТС] 23
Так выводиться 1 запись.
Сделал так:
PHP
1
2
3
4
5
6
7
8
9
10
$name = $json['cat_id']['shop'][0];
if(!empty($json['cat_id']['shop'])){
    for($i = 0, $cnt = count($json['cat_id']['shop']); $i < $cnt; ++$i)
foreach ($name as $key) {
echo "<b>$key</b><br>";
}
}else{
    echo 'Not found..';
}
?>
Выводиться 20 array, а данных с ID 0 - 13.
0
0 / 0 / 0
Регистрация: 11.09.2016
Сообщений: 1
06.03.2017, 23:35 24
Помогите пожалуйста.
Правильно ли я обращаюсь к JSON, работает но не понятно на сколько коряво и корректно.

Кликните здесь для просмотра всего текста
array(38) {
[0]=>
string(3) "359"
["id"]=>
string(3) "359"
[1]=>
string(1) "8"
["application_id"]=>
string(1) "8"
[2]=>
string(5) "house"
["type"]=>
string(5) "house"
[3]=>
string(24) "ЖК Город Мира"
["name"]=>
string(24) "ЖК Город Мира"
[4]=>
string(14) "zhk-gorod-mira"
["alias"]=>
string(14) "zhk-gorod-mira"
[5]=>
string(19) "2015-02-16 14:24:45"
["created"]=>
string(19) "2015-02-16 14:24:45"
[6]=>
string(19) "2017-02-24 18:38:40"
["modified"]=>
string(19) "2017-02-24 18:38:40"
[7]=>
string(2) "12"
["modified_by"]=>
string(2) "12"
[8]=>
string(19) "2015-02-16 14:24:45"
["publish_up"]=>
string(19) "2015-02-16 14:24:45"
[9]=>
string(19) "0000-00-00 00:00:00"
["publish_down"]=>
string(19) "0000-00-00 00:00:00"
[10]=>
string(1) "0"
["priority"]=>
string(1) "0"
[11]=>
string(3) "376"
["hits"]=>
string(3) "376"
[12]=>
string(1) "1"
["state"]=>
string(1) "1"
[13]=>
string(1) "1"
["access"]=>
string(1) "1"
[14]=>
string(2) "12"
["created_by"]=>
string(2) "12"
[15]=>
string(0) ""
["created_by_alias"]=>
string(0) ""
[16]=>
string(1) "1"
["searchable"]=>
string(1) "1"
[17]=>
string(5777) " {
"8f1e6030-5edb-4156-8902-0e336387ab94": {

},
"e075b0fd-cd41-4c60-b376-5f5774b876c5": {
"0": {
"list-0": "\u0421\u0438\u043c\u0444\u0435\u0440\u043e\u043f\u043e\u043b\u044c",
"list-1": "\u0411\u0430\u0442\u0443\u0440\u0438\u043d\u0430"
}
},
"d13465ff-33fe-4c83-a671-4d2d78962740": {
"0": {
"value": ""
}
},
"3a31e742-577c-43bc-9afb-04d531afe75d": {

},
"872425e4-8ea8-47e6-abc9-b6172daf994f": {
"check": "1"
},
"7ee8e2c2-4843-455f-bb81-a61989462fb2": {

},
"d565017b-8221-4329-ba41-851ed996a2dd": {

},
"88b11fe7-09ea-4b64-b3ed-5c98c662cf03": {
"option": {
"0": "4"
},
"select": "1"
},
"923d0377-a578-4047-bf8e-076aa44e6089": {
"option": {
"0": "2016",
"1": "2017",
"2": "2018"
},
"select": "1"
},
"0b3befce-453f-4c42-b6fd-030f6062de4f": {
"0": {
"value": "46 370"
}
},
"6e94dbb4-b2bc-43ec-918a-557554993f67": {
"0": {
"value": "1 670 000"
}
},
"46ef5ecf-fd6b-44aa-8c31-b860c7c38795": {
"0": {
"value": "10"
}
},
"35d18675-c649-4d33-a431-e548fe7be6e5": {
"option": {
"0": "monolit"
},
"select": "1"
},
"f2bca981-3dd7-4fcb-9799-04742b903eed": {
"option": {
"0": "1-komnatnye",
"1": "2-komnatnye",
"2": "3-komnatnye",
"3": "4-komnatnye",
"4": "ofisnye-pomeshheniya"
},
"check": "1"
},
"e3941547-4e2a-4363-8231-04464af91e7e": {
"0": {
"value": ""
}
},
"b8f59d45-d2aa-4977-9aaf-ca4065c8a4d8": {
"option": {
"0": ""
},
"select": "1"
},
"7f002104-7bd0-4eb0-9cef-54a75c3ce36a": {
"0": {
"value": ""
}
},
"d7575da7-f6e8-4d30-b0b9-64a5c23017c2": {
"0": {
"value": ""
}
},
"7275aa65-633a-4954-9d31-048b7f6cecd8": {

},
"3a444cae-d8c1-452b-8392-3f3a48a74b93": {
"0": {
"file": "images\/house\/GorodMira.jpg",
"title": "",
"width": 726,
"height": 438
},
"1": {
"file": "images\/house\/zhk-gorod-mira-2__2.jpg",
"title": "",
"width": 800,
"height": 451
},
"2": {
"file": "images\/house\/zhk-gorod-mira-2__1.jpg",
"title": "",
"width": 800,
"height": 451
}
},
"a1c889ea-988b-4f71-ab7d-299d0b8bdcf2": {
"0": {
"file": "",
"title": ""
}
},
"dd3d93f5-e839-4d56-a7b7-05cea06a955c": {

},
"84370f7c-beb8-46df-bcea-f8701fcc2b33": {
"option": {
"0": "individualnoe"
},
"check": "1"
},
"0d7f9f1b-3024-4526-a99f-5299325e2472": {
"check": "1"
},
"ed1abeac-cda6-4c94-b9d1-3180de593d36": {
"option": {
"0": "pod-klyuch"
},
"check": "1"
},
"7aefebc1-5a60-40b3-9df6-f52045d58e54": {
"check": "1"
},
"d9931def-7e1f-4692-87cd-59fddfca8f1e": {
"option": {
"0": "nadzemnyj",
"1": "podzemnyj"
},
"check": "1"
},
"d7a4dd7d-95be-43fa-bae7-67a5c1a4d933": {
"option": {
"0": "ozelenenie",
"1": "detskaya-ploshhadka",
"2": "sportploshhadka",
"3": "kompleksnoe-osveshhenie",
"4": "mesta-otdyha"
},
"check": "1"
},
"4b46b768-a253-4cc4-ab07-6f2fa70cb0a9": {
"location": "34.101040, 44.927578",
"width": "",
"height": "",
"zoom": "",
"ballun": ""
},
"28f30162-60f6-4538-982d-b8365370a68f": {
"0": {
"value": "

\u041c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u044b\u0439 \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u0437\u0430\u0434\u0443\u043c\u043a\u0435 \u0438 \u0442\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442 "\u0413\u043e\u0440\u043e\u0434 \u041c\u0438\u0440\u0430" - \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0445 \u0432 \u0421\u0438\u043c\u0444\u0435\u0440\u043e\u043f\u043e\u043b\u0435. \u041f\u043b\u0430\u043d\u043e\u043c \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u043a\u0430\u043a \u0436\u0438\u043b\u043e\u0439, \u0442\u0430\u043a \u0438 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u0439 \u043d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\r\n

\u0420\u0430\u0439\u043e\u043d \u044d\u0442\u043e\u0442 \u0437\u043d\u0430\u043c\u0435\u043d\u0438\u0442 \u0441\u0432\u043e\u0438\u043c \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u044b\u043c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0441\u0440\u0435\u0434\u0438 \u0437\u0435\u043b\u0435\u043d\u0438 \u0438 \u0442\u0438\u0448\u0438\u043d\u044b, \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0412\u0430\u043c \u043f\u043e \u0434\u0443\u0448\u0435. \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0433\u0443\u043b\u043e\u0447\u043d\u044b\u0445 \u0437\u043e\u043d, \u0433\u0434\u0435 \u0412\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u0434\u043e\u0445\u043d\u0443\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u0442\u0440\u0443\u0434\u043e\u0432\u043e\u0433\u043e \u0434\u043d\u044f.<\/p>\r\n

\u041f\u043b\u043e\u0449\u0430\u0434\u0438 \u043a\u0432\u0430\u0440\u0442\u0438\u0440 \u043f\u043e\u0434\u043e\u0439\u0434\u0443\u0442 \u043a\u0430\u0436\u0434\u043e\u043c\u0443, \u043e\u0442 30 \u0434\u043e 130 \u043a\u0432.\u043c, \u0430 \u0442\u043e\u0440\u0433\u043e\u0432\u044b\u0435 \u0438 \u043e\u0444\u0438\u0441\u043d\u044b\u0435 - \u043e\u0442 20 \u0434\u043e 400 \u043a\u0432.\u043c<\/p>"
}
},
"155f0bc5-7c1e-4dfb-a4f1-9ee1ae6343b1": {

},
"f20488c7-5df7-4f8c-b82b-aed35fed40ea": {
"0": {
"file": "",
"title": "",
"download_limit": "",
"hits": "0"
}
},
"392fb950-50ef-4edd-8809-184a1b64068c": {

},
"92381412-f2da-434e-add2-d9e5d2f4903f": {
"0": {
"file": "",
"title": ""
}
}
}"
["elements"]=>
string(5777) " {
"8f1e6030-5edb-4156-8902-0e336387ab94": {

},
"e075b0fd-cd41-4c60-b376-5f5774b876c5": {
"0": {
"list-0": "\u0421\u0438\u043c\u0444\u0435\u0440\u043e\u043f\u043e\u043b\u044c",
"list-1": "\u0411\u0430\u0442\u0443\u0440\u0438\u043d\u0430"
}
},
"d13465ff-33fe-4c83-a671-4d2d78962740": {
"0": {
"value": ""
}
},
"3a31e742-577c-43bc-9afb-04d531afe75d": {

},
"872425e4-8ea8-47e6-abc9-b6172daf994f": {
"check": "1"
},
"7ee8e2c2-4843-455f-bb81-a61989462fb2": {

},
"d565017b-8221-4329-ba41-851ed996a2dd": {

},
"88b11fe7-09ea-4b64-b3ed-5c98c662cf03": {
"option": {
"0": "4"
},
"select": "1"
},
"923d0377-a578-4047-bf8e-076aa44e6089": {
"option": {
"0": "2016",
"1": "2017",
"2": "2018"
},
"select": "1"
},
"0b3befce-453f-4c42-b6fd-030f6062de4f": {
"0": {
"value": "46 370"
}
},
"6e94dbb4-b2bc-43ec-918a-557554993f67": {
"0": {
"value": "1 670 000"
}
},
"46ef5ecf-fd6b-44aa-8c31-b860c7c38795": {
"0": {
"value": "10"
}
},
"35d18675-c649-4d33-a431-e548fe7be6e5": {
"option": {
"0": "monolit"
},
"select": "1"
},
"f2bca981-3dd7-4fcb-9799-04742b903eed": {
"option": {
"0": "1-komnatnye",
"1": "2-komnatnye",
"2": "3-komnatnye",
"3": "4-komnatnye",
"4": "ofisnye-pomeshheniya"
},
"check": "1"
},
"e3941547-4e2a-4363-8231-04464af91e7e": {
"0": {
"value": ""
}
},
"b8f59d45-d2aa-4977-9aaf-ca4065c8a4d8": {
"option": {
"0": ""
},
"select": "1"
},
"7f002104-7bd0-4eb0-9cef-54a75c3ce36a": {
"0": {
"value": ""
}
},
"d7575da7-f6e8-4d30-b0b9-64a5c23017c2": {
"0": {
"value": ""
}
},
"7275aa65-633a-4954-9d31-048b7f6cecd8": {

},
"3a444cae-d8c1-452b-8392-3f3a48a74b93": {
"0": {
"file": "images\/house\/GorodMira.jpg",
"title": "",
"width": 726,
"height": 438
},
"1": {
"file": "images\/house\/zhk-gorod-mira-2__2.jpg",
"title": "",
"width": 800,
"height": 451
},
"2": {
"file": "images\/house\/zhk-gorod-mira-2__1.jpg",
"title": "",
"width": 800,
"height": 451
}
},
"a1c889ea-988b-4f71-ab7d-299d0b8bdcf2": {
"0": {
"file": "",
"title": ""
}
},
"dd3d93f5-e839-4d56-a7b7-05cea06a955c": {

},
"84370f7c-beb8-46df-bcea-f8701fcc2b33": {
"option": {
"0": "individualnoe"
},
"check": "1"
},
"0d7f9f1b-3024-4526-a99f-5299325e2472": {
"check": "1"
},
"ed1abeac-cda6-4c94-b9d1-3180de593d36": {
"option": {
"0": "pod-klyuch"
},
"check": "1"
},
"7aefebc1-5a60-40b3-9df6-f52045d58e54": {
"check": "1"
},
"d9931def-7e1f-4692-87cd-59fddfca8f1e": {
"option": {
"0": "nadzemnyj",
"1": "podzemnyj"
},
"check": "1"
},
"d7a4dd7d-95be-43fa-bae7-67a5c1a4d933": {
"option": {
"0": "ozelenenie",
"1": "detskaya-ploshhadka",
"2": "sportploshhadka",
"3": "kompleksnoe-osveshhenie",
"4": "mesta-otdyha"
},
"check": "1"
},
"4b46b768-a253-4cc4-ab07-6f2fa70cb0a9": {
"location": "34.101040, 44.927578",
"width": "",
"height": "",
"zoom": "",
"ballun": ""
},
"28f30162-60f6-4538-982d-b8365370a68f": {
"0": {
"value": "

\u041c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u044b\u0439 \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u0437\u0430\u0434\u0443\u043c\u043a\u0435 \u0438 \u0442\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442 "\u0413\u043e\u0440\u043e\u0434 \u041c\u0438\u0440\u0430" - \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0445 \u0432 \u0421\u0438\u043c\u0444\u0435\u0440\u043e\u043f\u043e\u043b\u0435. \u041f\u043b\u0430\u043d\u043e\u043c \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u043a\u0430\u043a \u0436\u0438\u043b\u043e\u0439, \u0442\u0430\u043a \u0438 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u0439 \u043d\u0435\u0434\u0432\u0438\u0436\u0438\u043c\u043e\u0441\u0442\u0438.<\/p>\r\n

\u0420\u0430\u0439\u043e\u043d \u044d\u0442\u043e\u0442 \u0437\u043d\u0430\u043c\u0435\u043d\u0438\u0442 \u0441\u0432\u043e\u0438\u043c \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u044b\u043c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0441\u0440\u0435\u0434\u0438 \u0437\u0435\u043b\u0435\u043d\u0438 \u0438 \u0442\u0438\u0448\u0438\u043d\u044b, \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0412\u0430\u043c \u043f\u043e \u0434\u0443\u0448\u0435. \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0433\u0443\u043b\u043e\u0447\u043d\u044b\u0445 \u0437\u043e\u043d, \u0433\u0434\u0435 \u0412\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u0434\u043e\u0445\u043d\u0443\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u0442\u0440\u0443\u0434\u043e\u0432\u043e\u0433\u043e \u0434\u043d\u044f.<\/p>\r\n

\u041f\u043b\u043e\u0449\u0430\u0434\u0438 \u043a\u0432\u0430\u0440\u0442\u0438\u0440 \u043f\u043e\u0434\u043e\u0439\u0434\u0443\u0442 \u043a\u0430\u0436\u0434\u043e\u043c\u0443, \u043e\u0442 30 \u0434\u043e 130 \u043a\u0432.\u043c, \u0430 \u0442\u043e\u0440\u0433\u043e\u0432\u044b\u0435 \u0438 \u043e\u0444\u0438\u0441\u043d\u044b\u0435 - \u043e\u0442 20 \u0434\u043e 400 \u043a\u0432.\u043c<\/p>"
}
},
"155f0bc5-7c1e-4dfb-a4f1-9ee1ae6343b1": {

},
"f20488c7-5df7-4f8c-b82b-aed35fed40ea": {
"0": {
"file": "",
"title": "",
"download_limit": "",
"hits": "0"
}
},
"392fb950-50ef-4edd-8809-184a1b64068c": {

},
"92381412-f2da-434e-add2-d9e5d2f4903f": {
"0": {
"file": "",
"title": ""
}
}
}"
[18]=>
string(195) " {
"metadata.title": "",
"metadata.description": "",
"metadata.keywords": "",
"metadata.robots": "",
"metadata.author": "",
"config.enable_comments": "1",
"config.primary_category": "56"
}"
["params"]=>
string(195) " {
"metadata.title": "",
"metadata.description": "",
"metadata.keywords": "",
"metadata.robots": "",
"metadata.author": "",
"config.enable_comments": "1",
"config.primary_category": "56"
}"
}


Это то что возвращается из базы.

Вот так достаю значения:
PHP
1
2
3
4
$data = json_decode($row[17]);
    $location = $data->{'4b46b768-a253-4cc4-ab07-6f2fa70cb0a9'}; //$location->{'location'}
    var_dump($data->{'4b46b768-a253-4cc4-ab07-6f2fa70cb0a9'}->{'location'});
    var_dump($data->{'28f30162-60f6-4538-982d-b8365370a68f'}->{0}->{'value'});
можно ли использовать такую вложенность? -> -> ->
0
06.03.2017, 23:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2017, 23:35
Помогаю со студенческими работами здесь

Json + php
Доброе утро. мне нужно из php отправить массив данных. а js принять. Сейчас я принимаю...

PHP и JSON
Всем привет! Есть JSON: Как добавить новую запись в этот файл? Чтобы было: ...

PHP и JSON
Здравствуйте! Приходит PHP получает такой JSON:...

Json и PHP
Всем привет,ребята. Столкнулся с данной проблемой:Есть такая строка,надо каким-нибудь вариантом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru