使用Web服务返回的JSON数据

时间:2019-01-30 12:04:11

标签: php jquery json codeigniter soap

我已经创建了一个Soap客户端来从Web服务请求数据,并且使用我的CodeIgniter函数以这种方式显示返回的数据”

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

但是我想通过删除getCodeResult来格式化它们

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

2 个答案:

答案 0 :(得分:1)

希望对您有所帮助。

<?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);
?>

答案 1 :(得分:0)

解码为数组并仅返回“ GetCodeResult”,然后对其进行json_encode。

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

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

https://3v4l.org/59RSc


要只回显这些值,可以使用list和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