Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422

Получить значение ответа. JSON

01.12.2016, 11:30. Показов 3414. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется ответ от сервера такого вида
JSON
1
2
3
4
5
6
7
8
9
{
  "status" : "success",
  "data" : {
    "network" : "BTC",
    "user_id" : 7,
    "address" : "3MgkCcN8zSzmH6sFH8B3fSV4fCuP3vGmGZ",
    "label" : "stafu71"
  }
}
Пробую получить значение address таким способом
PHP
1
2
3
4
5
    $btc_address = file_get_contents("block.io.json") or die("Ошибка, попробуйте позже.");
    $object = json_decode($btc_address); 
    $bitok_address = $object['data']['address'];
    
    echo $bitok_address;
Подскажите, что делаю не так?

Добавлено через 33 минуты
Если я делаю таким образом с помощью foreach
PHP
1
2
3
$object = json_decode($btc_address); 
    foreach($object->data as $key=>$value)
    echo $value;
получаю весь результат
Так не работает
PHP
1
2
$object = json_decode($btc_address); 
    echo $object['data']->address;
Так получаю
PHP
1
2
3
foreach($object->data as $key=>$value){
    echo $value['address'];
    } три непонятных буквы...
Так тоже что-то непонятно...
PHP
1
2
3
foreach($object->data as $key=>$value){
    echo $value[4];
    }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.12.2016, 11:30
Ответы с готовыми решениями:

Получить значение из JSON
получаю данные в json формате. оттуда надо извлеч имена людей кто сделал репост на facebook { "data": , ...

Как получить «случайно сформированное» значение json массива?
Есть массив вида {"success":1,"return": { ...

Получение JSON ответа и внесение его в переменную
Приветствую всех. Вопрос заключается в следующем, я получаю CODE и Access token пользователя(проверялось), но при попытке его использовать...

8
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
01.12.2016, 11:31
Лучший ответ Сообщение было отмечено Salvat как решение

Решение

Цитата Сообщение от Salvat Посмотреть сообщение
PHP
1
2
$object = json_decode($btc_address);
$bitok_address = $object['data']['address'];
Либо декодируете так, как у вас и обращаетесь с данными как с объектом
PHP
1
2
$object = json_decode($btc_address);
$bitok_address = $object->data->address;
Либо в json_decode вторым параметром передаете true и обращаетесь так, как у вас
PHP
1
2
$object = json_decode($btc_address, true);
$bitok_address = $object['data']['address'];
1
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
01.12.2016, 11:32
PHP
1
$object->data->address
0
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422
01.12.2016, 12:09  [ТС]
Цитата Сообщение от MadHatter Посмотреть сообщение
$object->data->address
не работает почему-то.
PHP
1
2
3
    $object = json_decode($btc_address); 
    $object->data->address;
    echo $object;
Kerry_Jr, Благодарю.
0
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
01.12.2016, 12:21
Ну конечно не работает. Нужно же присвоить полученное значение новой переменной.
1
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422
01.12.2016, 13:13  [ТС]
Подскажите как разобрать такой ответ.

Пытаюсь разобрать так, тут часть условий
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
  "status" : "success",
  "data" : {
    "network" : "BTC",
    "available_balance" : "0.00010000",
    "pending_received_balance" : "0.00000000",
    "balances" : [
      {
        "user_id" : 1,
        "label" : "cephe59",
        "address" : "3CqoGBvpxtG6jDR8xTzJcCV9LrLH6dmWbT",
        "available_balance" : "0.00010000",
        "pending_received_balance" : "0.00000000"
      }
    ]
  }
}
PHP
1
2
3
4
5
$object = json_decode($get_contents, true);
$bit_address = $object['data']['balances']['address'];
echo $bit_address;
if($address == $bit_address){
    $available_balance = $oject['data']['balances']['available_balance'];
0
165 / 150 / 58
Регистрация: 15.06.2013
Сообщений: 1,107
01.12.2016, 13:21
Лучший ответ Сообщение было отмечено Kerry_Jr как решение

Решение

Чтобы не было недопониманий: то что обрамлено в фигурные скобки - объект и к его элементам нужно обращаться с помощью ->, а то что в квадратных - массив и к его элементам нужно обращаться через [$id].
Теперь, если вы обратите внимание, то элемент 'balances' содержит массив объектов. Поэтому к его элементу нужно обратиться как-то так:
PHP
1
$bit_address = $object->data->balances[0]->address;
Либо, если вы преобразовываете объекты в массив, то:
PHP
1
$bit_address = $object['data']['balances'][0]['address'];
1
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
01.12.2016, 13:26
Цитата Сообщение от Salvat Посмотреть сообщение
PHP
1
$available_balance = $oject['data']['balances']['available_balance'];
balances это неассоциативный массив
PHP
1
$available_balance = $oject['data']['balances'][0]['available_balance'];
1
12 / 11 / 8
Регистрация: 30.11.2015
Сообщений: 422
01.12.2016, 13:47  [ТС]
Спасибо Вам большое за исчерпывающий ответ по моим вопросам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.12.2016, 13:47
Помогаю со студенческими работами здесь

Работа с json. Получить значение массива.
Hi All! С PHP работаю совсем недавно (просто пришлось), с JSON вообще первый раз, поэтому такой вопрос: есть json файл, там много...

Обработка ответа JSON
Добрый день! Возникла проблема: получаю ответ JSON, проблема в обработке JSON, выводе данных на страницу { ...

Получение данных из JSON-ответа
С сервера приходит такой ответ. Я его решил декодировать из json.$page =json_decode(curl_exec($ch)); и теперь ответ стал таким Как мне...

Вывести данные из JSON ответа
Всем привет:), нужна помощь, буду очень благодарен, если поможете. Мне нужно, чтобы вывелся username из members через запятую из этого...

Как вывести несколько id из JSON ответа
Вот, что выдает json: { "user": { "id": 1 } }, "friends": }


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru