【问题标题】:using remote json file in php code在 php 代码中使用远程 json 文件
【发布时间】:2015-03-12 05:44:56
【问题描述】:

为了获取有关“ID”的详细信息,我准备了以下 PHP,其中包含 json 数组。它运行良好。

<?php
$json = '{"records": 
       [
         {"Name":"Jhon", "Age":"45", "id":"101"},
         {"Name":"Bhil", "Age":"42", "id":"102"},
         {"Name":"Tone", "Age":"41", "id":"103"},
       ]
    }';

$myjson = json_decode($json, true);  
  foreach ( $myjson['records'] as $row ) {  
                        if ($row['id'] =='216') { 
                         echo 'Details of  login id:&nbsp;'.  $row['id']. '<br/>';
                         foreach ( $row as $field => $value ) {  // loop the fields
                               // do the work here
                             }
                   }
         }
?>

现在,对于我的一个项目,我必须用各种值创建 750 个 Id。 将所有这些放在 php 文件中可能会减慢页面加载速度。

因此,我创建了 json 文件(远程):xyz.com/dir/jsondata.json

请指导我,如何在 php 代码中包含上述 json 文件。

【问题讨论】:

标签: php json


【解决方案1】:

使用$data=file_get_contents('xyz.com/dir/jsondata.json');获取文件,然后使用解码json并循环遍历它

$myjson = json_decode($data, true);  
  foreach ( $myjson['records'] as $row ) {  
                        if ($row['id'] =='216') { 
                         echo 'Details of  login id:&nbsp;'.  $row['id']. '<br/>';
                         foreach ( $row as $field => $value ) {  // loop the fields
                               // do the work here
                             }
                   }
         }

【讨论】:

  • 我的问题是:远程json文件是否与php内部的json数组相比是否快速加载?
  • 在 php 文件中包含 json 数组会比使用 file_get_contents() 稍微快一些
【解决方案2】:

file_get_contents() 是您正在寻找的。它将文件的全部内容放入一个字符串中。

$json = file_get_contents('dir/jsondata.json');

【讨论】:

  • 如果远程文件是csv:比如xyz.com/dir/data.csv
  • file_get_contents() 适用于任何文件类型。如果使用 CSV 文件,则必须解析字符串以创建 JSON 数组。
  • 是这样,如何从csv文件创建json数组
  • 这完全是一个全新的问题。我建议您提出一个新问题并在此处发布一个链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-10
  • 1970-01-01
  • 2013-01-20
  • 2011-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多