Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Разбор JSON ответа / 10 сообщений из 10, страница 1 из 1
02.11.2015, 21:01
    #39093210
DimaRRR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбор JSON ответа
Всем доброго времени суток!
Столкнулся с проблемой и никак не могу ее решить...
Имеется 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
02.11.2015, 21:59
    #39093217
MikkiMouse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбор JSON ответа
DimaRRR,

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

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

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

Так вот я же говорю. Строки всегда разные :)
...
Рейтинг: 0 / 0
03.11.2015, 00:31
    #39093256
MikkiMouse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбор JSON ответа
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
03.11.2015, 00:32
    #39093258
DimaRRR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбор JSON ответа
MikkiMouse,

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

Функция сортировки, вроде как передает весь элемент массиву, не? Тогда разве не правильнее писать $x->color > $y->color, не?
...
Рейтинг: 0 / 0
03.11.2015, 21:24
    #39094098
DimaRRR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбор JSON ответа
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
04.11.2015, 00:02
    #39094179
MikkiMouse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разбор JSON ответа
DimaRRR,

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


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