我正在尝试从 json 代码中获取结果。我已经在 jsonlint 检查了 json 结果并且它已经过验证。我这样做:$result = curl_exec($curl);if(!$result){die("Connection Failure");}curl_close($curl);然后当我做 echo $result 这是结果:{"vat":{"640252":{"name":"0%","percentage":"0.00","invoice_type":"2","vat_code":"5B2","available":"1 "},"640258":{"name":"0%","percentage":"0.00","invoice_type":"1","vat_code":"1E1","available":"1"}, "640256":{"name":"21%","percentage":"21.00","invoice_type":"1","vat_code":"1A2","available":"1"}}}当我这样做时,它确实显示了增值税代码 640252 的名称:$result2 = json_decode($result, true);echo $result2['vat']['640252']['name'];但是我无法通过 foreach 浏览 json。首先想创建一个带有 id 的变量(如 640252)和一个带有百分比的变量,并在 foreach 中回显它们。我已经从 Stackoverflow 尝试了很多东西,但所有的 json 输出似乎都与我的输出不同。我希望有人能在正确的方向上帮助我。
3 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
原因是,在解码 json 字符串后,vat 是一个带有值数组的键。只需按照以下示例迭代增值税属性。
$data = json_decode($result, true);
foreach ($data['vat'] as $id => $item) {
echo "<pre>";
var_dump($id, $item);
echo "</pre>";
}
希望有帮助。
蓝山帝景
TA贡献1843条经验 获得超7个赞
<?php
$json = '... lots of JSON here ...';
$arr = json_decode($json, true);
foreach ($arr['vat'] as $id => $item) {
echo "$id -> {$item['name']}\n";
}
以您的 JSON 为例,这是我得到的输出:
640252 -> 0%
640258 -> 0%
640256 -> 21%
如果您不需要 ID(例如640252),您可以这样做:
foreach ($arr['vat'] as $item) {
- 3 回答
- 0 关注
- 139 浏览
添加回答
举报
0/150
提交
取消