powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Разбор JSON ответа
10 сообщений из 10, страница 1 из 1
Разбор JSON ответа
    #39093210
DimaRRR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!
Столкнулся с проблемой и никак не могу ее решить...
Имеется JSON ответ и если с одинаковым параметром "name" есть строки с разными параметрами "color", надо выводить ТОЛЬКО img НАИБОЛЬШЕГО "color".
{"body":[
{"name":"Background","color":2,"img":""},
{"name":"Background","color":0,"img":""},
{"name":"Background","color":3,"img":""},
{"name":"Background","color":1,"img":""}
]}
...
Рейтинг: 0 / 0
Разбор JSON ответа
    #39093217
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaRRR,

Так а проблема где? Вывести можно через echo ...
...
Рейтинг: 0 / 0
Разбор JSON ответа
    #39093218
DimaRRR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MikkiMouse,

Вы не поняли всю суть проблемы... Тут надо выводить только то значение img, у которого color имеет значение больше чем другие
...
Рейтинг: 0 / 0
Разбор JSON ответа
    #39093252
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaRRR,

По приведенному куску JSON'а можем определить, что таковое значение присутствует у 3-его элемента в массиве "body". Выведи его.
...
Рейтинг: 0 / 0
Разбор JSON ответа
    #39093255
DimaRRR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MikkiMouse,

Так вот я же говорю. Строки всегда разные :)
...
Рейтинг: 0 / 0
Разбор JSON ответа
    #39093256
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaRRR,

Ладно, я сегодня добрый. Напишу тебе код.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
$jsonString = '{"body":[
{"name":"Background","color":2,"img":""},
{"name":"Background","color":0,"img":""},
{"name":"Background","color":3,"img":""},
{"name":"Background","color":1,"img":""}
]}';

$response = json_decode( $jsonString );

usort( $response->body, function( $x, $y ) {
    if ( $x == $y ) {
        return 0;
    }
    return ( $x > $y ) ? -1 : 1;
} );

echo $response->body[0]->img;
...
Рейтинг: 0 / 0
Разбор JSON ответа
    #39093258
DimaRRR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MikkiMouse,

Огромное спасибо!!!
...
Рейтинг: 0 / 0
Разбор JSON ответа
    #39093430
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMouse,

Функция сортировки, вроде как передает весь элемент массиву, не? Тогда разве не правильнее писать $x->color > $y->color, не?
...
Рейтинг: 0 / 0
Разбор JSON ответа
    #39094098
DimaRRR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MikkiMouse,

А вот ещё одна проблема, помогите, пожалуйста. Если в JSON коде будет ещё и другие строки с другими значениями «name», но надо тоже выводить «img» ТОЛЬКО НАИБОЛЬШЕГО «color»
{"body":[
{"name":"Background","color":2,"img":""},
{"name":"Background","color":0,"img":""},
{"name":"Background","color":3,"img":""},
{"name":"Background","color":1,"img":""},
{"name":"Text","color":3,"img":""},
{"name":"Text","color":2,"img":""},
{"name":"Text","color":0,"img":""},
{"name":"Text","color":1,"img":""},
]}
...
Рейтинг: 0 / 0
Разбор JSON ответа
    #39094179
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaRRR,

Ну почитай про сортировки, ну я не знаю... Или иди гамбургеры делай. Ну что за люди
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Разбор JSON ответа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]