这里我有JSON文件,我想用JSON打印该对象,
JSON
[{"text": "Aachen, Germany - Aachen/Merzbruck (AAH)"}, {"text": "Aachen, Germany - Railway (ZIU)"}, {"text": "Aalborg, Denmark - Aalborg (AAL)"}, {"text": "Aalesund, Norway - Vigra (AES)"}, {"text": "Aarhus, Denmark - Aarhus Airport (AAR)"}, {"text": "Aarhus Limo, Denmark - Aarhus Limo (ZBU)"}, {"text": "Aasiaat, Greenland - Aasiaat (JEG)"}, {"text": "Abadan, Iran - Abadan (ABD)"}]
我尝试过以下方法,
<?php
$jsonurl='http://website.com/international.json';
$json = file_get_contents($jsonurl,0,null,null);
$json_output = json_decode($json);
foreach ($json_output as $trend)
{
echo "{$trend->text}\n";
}
?>
但它确实有效,任何人都可以帮助我做错的地方。
答案 0 :(得分:4)
<?php
$jsonurl='http://website.com/international.json';
$json = file_get_contents($jsonurl,0,null,null);
$json_output = json_decode($json, JSON_PRETTY_PRINT);
echo $json_output;
?>
使用JSON_PRETTY_PRINT u将你的json转换为漂亮的格式,使用json_decode($ json,true)不会将你的json重新格式化为PRETTY格式的输出,你也不必运行循环在所有键上再次导出相同的JSON对象,你可以使用那些可以在导出之前清理你的json对象的常量。
json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)
答案 1 :(得分:3)
使用
$json_output = json_decode($json, true);
默认情况下,json_decode提供OBJECT类型,但是您尝试将其作为Array访问,因此传递true将返回一个数组。
答案 2 :(得分:0)
试试这段代码:
<?php
$jsonurl='http://website.com/international.json';
$json = file_get_contents($jsonurl,0,null,null);
$json_output = json_decode($json, true);
foreach ($json_output as $trend){
echo $trend['text']."\n";
}
?>
谢谢, 恐龙
答案 3 :(得分:0)
$data=[{"text": "Aachen, Germany - Aachen/Merzbruck (AAH)"}, {"text": "Aachen, Germany - Railway (ZIU)"}, {"text": "Aalborg, Denmark - Aalborg (AAL)"}, {"text": "Aalesund, Norway - Vigra (AES)"}, {"text": "Aarhus, Denmark - Aarhus Airport (AAR)"}, {"text": "Aarhus Limo, Denmark - Aarhus Limo (ZBU)"}, {"text": "Aasiaat, Greenland - Aasiaat (JEG)"}, {"text": "Abadan, Iran - Abadan (ABD)"}]
$obj = json_decode($data);
$text = $obj[0]->text;
这样可行。
答案 4 :(得分:0)
JSON_FORCE_OBJECT
在您的json调用中,例如:
$obj = json_decode($data);
而是这样写:
$obj = json_decode($data, JSON_FORCE_OBJECT);