【问题标题】:Working with json data returned by web service [duplicate]使用 Web 服务返回的 json 数据 [重复]
【发布时间】:2019-06-23 17:06:21
【问题描述】:

我创建了一个 Soap 客户端来从 Web 服务请求数据,返回的数据通过我的 CodeIgniter 函数显示如下"

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

但我想通过删除 getCodeResult 来像这样格式化它们

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

【问题讨论】:

  • 明显的问题为什么?
  • 另一个问题,你在哪一部分遇到了问题?

标签: php jquery json codeigniter soap


【解决方案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);
?>

【讨论】:

  • 它工作 Ramya 谢谢!
  • Ramya,我的结果看起来像这样 [{"SellingRate":"3.65500","BuyingRate":"3.64500"}]{"iso_name":"QAR"}
  • 现在我只想显示值,例如 3.65500、3.64500 和 QAR
  • 你能在这里添加整个json吗?
  • 第一行显示了来自 api 的函数,它返回两个值卖和买
【解决方案2】:

解码为数组并仅返回“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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 2013-05-25
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多