Работа с данными json, возвращаемыми веб-службой

Я создал клиент Soap для запроса данных из веб-сервисов, и возвращаемые данные отображаются следующим образом с помощью моей функции CodeIgniter"

{"GetCodeResult":
{
"Selling":"1000.67114",
"Buying":"9000.65789"
}
}

но я хочу отформатировать их так, удалив getCodeResult

{"selling":"1000.67114","Buying":"9000.65789"}

Очевидный вопрос ЗАЧЕМ?

RiggsFolly 30.01.2019 13:05

Другой вопрос, с какой частью у вас возникли проблемы?

Jonnix 30.01.2019 13:05
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
2
61
2

Ответы 2

Декодируйте в массив и верните только «GetCodeResult», а затем json_encode.

echo json_encode(json_decode($json, true)['GetCodeResult']);

//{"Selling":"1000.67114","Buying":"9000.65789"}

https://3v4l.org/59RSc


To only echo the values you can assign them to variables using list and array_values.
list($selling, $buying) = array_values(json_decode($json, true)['GetCodeResult']);

echo $selling .PHP_EOL;
echo $buying .PHP_EOL;
//1000.67114
//9000.65789

https://3v4l.org/T5GNg

Я надеюсь, что это может помочь вам.

<?php
$jsonData = '{"GetCodeResult":
                {
                    "Selling":"1000.67114",
                    "Buying":"9000.65789"
                }
            }';
$data = json_decode($jsonData, true);

$arr_index = array();
foreach ($data as $key => $value) {    
    $arr_index = $value;    
}

echo json_encode($arr_index, true);
?>

Спасибо.

Если вы хотите получить только значения средств продажи и покупки, попробуйте, как показано ниже.

<?php
$jsonData = '{"GetCodeResult":
                {
                    "Selling":"1000.67114",
                    "Buying":"9000.65789"
                }
            }';
$data = json_decode($jsonData, true);

$arr_index = array();

foreach ($data as $key => $value) { 
    if ($key == 'GetCodeResult'){
        $arr_index = $value;
    }    
}
foreach($arr_index as $values){
    $finalVal[] = $values;
}

echo json_encode($finalVal, true);
?>

Это работает, Рамья, спасибо!

Didos Rukundo 30.01.2019 13:23

Рамья, у меня результат выглядит так [{"SellingRate":"3.65500","BuyingRate":"3.64500"}]{"iso_name‌​":"QAR"}

Didos Rukundo 30.01.2019 13:55

теперь я хочу отображать только значения, например 3,65500, 3,64500 и QAR

Didos Rukundo 30.01.2019 13:56

не могли бы вы добавить сюда весь json.

Ramya 30.01.2019 13:56

первая строка показывает функцию из API, которая возвращает два значения: продажа и покупка

Didos Rukundo 30.01.2019 14:05

но я хочу отображать только значения, а не их переменные

Didos Rukundo 30.01.2019 14:06

@DidosRukundo Вы знаете, что здесь есть еще один ответ

Andreas 30.01.2019 14:12

Другие вопросы по теме