如何从PHP解析json(提要)

如何从PHP解析json(提要),php,json,Php,Json,我有一个来自zoho的json提要:,您可以不加密地访问同一个文件 我希望能够显示和解析来自该提要的数据 昨天我问了一个类似的问题,但解决方案是javascript,让java禁用客户端可能会导致什么都不显示。。。因此,我将使用php。我可以解析变量,但不能解析提要 问题#2。是否可以捕获一个json提要,并将其保存为文件(用于备份),因此如果站点出现故障,我将访问该文件(可能性很小)您首先必须从远程服务器获取json数据;考虑到似乎存在一种认证机制,我不确定你如何做到这一点,但也许或者可能会有

我有一个来自zoho的json提要:,您可以不加密地访问同一个文件 我希望能够显示和解析来自该提要的数据

昨天我问了一个类似的问题,但解决方案是javascript,让java禁用客户端可能会导致什么都不显示。。。因此,我将使用php。我可以解析变量,但不能解析提要


问题#2。是否可以捕获一个json提要,并将其保存为文件(用于备份),因此如果站点出现故障,我将访问该文件(可能性很小)

您首先必须从远程服务器获取json数据;考虑到似乎存在一种认证机制,我不确定你如何做到这一点,但也许或者可能会有所帮助

一旦PHP变量中有了JSON字符串,就只需调用它来获取数据


例如:

$json = file_get_contents('http://produits-lemieux.com/json.txt');

// you can save $json to a file, if needed :
//file_put_contents('file/path/my-file.txt', $json);

$data = json_decode($json);

var_dump($data);
将获得如下输出:

object(stdClass)[1]
  public 'Liste_des_produits1' => 
    array
      0 => 
        object(stdClass)[2]
          public 'Added_Time' => string '28-Sep-2009 16:35:03' (length=20)
          public 'prod_ingredient' => string 'sgsdgds' (length=7)
          public 'prod_danger' => 
            array
              0 => string 'sans danger pour xyz' (length=20)
    ....


注意:我使用了“未加密”版本,因为我不知道需要使用什么样的API来访问加密的API(从未使用过“zoho”)

简化的代码来实现您想要的功能

$sJson = file_get_contents('http://example.com/path/to/feed.json');
file_put_contents('/path/to/file', $sJson);
$oJson = json_decode($sJson);   
var_dump($oJson);

如果URL包装器已关闭,或者您需要身份验证标题(或其他特殊标题集),请使用库来代替
文件\u get\u contents

我希望能够打印/访问某些变量,但似乎无法以这种方式访问数组

根据前面的回答:

$json = file_get_contents('http://produits-lemieux.com/json.txt');
$data = json_decode($json);
//var_dump($data);
print_r($data['prod_ingredient']); //dont work !... error 
print_r($data['Liste_des_produits1'].prod_ingredient[0]); //dont work !... error 

默认情况下,json_decode将json字符串转换为对象形式,为了将其用作关联数组,必须将“true”指定为第二个参数,如下例。 json_解码($json,true)


参考资料:

任何一种更好的显示方式(能够用簧片)显示它以阅读它。。。嗨。。。用于调试目的?安装了扩展的var_dump是完美的;-)(这个扩展非常好,在开发机器上——但不要在生产服务器上安装它:对性能不好)也许是一个访问变量的方法?我会给你指路的!。。。我尝试过这样的方法:print\u r($result.Liste\u des\u produits1.prod\u component);JE Puut-Peut-Eute Et Te Paser-QuelgsAutoRead问题Par电子邮件PiSO(menardmam@hotmail.com)si tu veut?打印($data->产品列表1[0]->产品成分;完美的解决方案。就像上面的一样…4分钟后…但是谢谢!