我一直面临着使用PHP中的json_decode()函数读取JSON中的一堆数据非常困难的时期。基本上,我需要读取基本数据以显示航班日期的出发地和目的地。
应该是这样的:
20 solutions found.
Solution# 1 Sale Price: BRL2919.54
Slice 0
TA 916 GRU 2015-06-16T06:15-03:00 LIM 2015-06-16T09:20-05:00
AV 962 LIM 2015-06-16T10:04-05:00 MIA 2015-06-16T16:48-04:00
这是JSON代码:http://pastebin.com/dH16RriT
当我尝试转换它并读取它时,它带有 NULL 数据。
$data = json_decode($results, true); // $results is a variable with
the JSON content from the URL above
echo $data['tripOption']['saleTotal']; // just an example
是的,你应该使用
print_r($a['trips']['tripOption'][0]['saleTotal'])
如果要读取该数组中的数据,可以执行以下操作:
$data = json_decode($s,true);
foreach ($data['trips']['tripOption'] as $item){
print_r($item['saleTotal'] . "'n");
};
我可以从您发布的 json 结构中解码该数据。这是一个微不足道的示例脚本,它转储了解码的数组结构:
<?php
$json = file_get_contents('./data.json');
$data = json_decode($json, true);
print_r($data);
关于您尝试提取但未能提取的特定数据:您必须注意在数据结构中使用正确的"路径"。这个工作:
print_r($data['trips']['tripOption']);
由于那个是一个数组,你必须在那里处理一个特定的条目才能获得你期望的输出:
echo $data['trips']['tripOption'][0]['saleTotal']; // just an example