使用php打印JSON对象

时间:2013-06-25 08:54:05

标签: php json

这里我有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";     
  } 
?>

但它确实有效,任何人都可以帮助我做错的地方。

5 个答案:

答案 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将返回一个数组。

阅读文档:http://php.net/manual/en/function.json-decode.php

答案 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);