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

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

01.12.2016, 11:30. Показов 3393. Ответов 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru