我有来自zoho的json Feed:here,您可以访问未加密的here文件 我希望能够显示和解析来自该feed的数据
我昨天问了一个类似的问题,但是解决方案是一个javascript,并且java禁用客户端可能导致无法显示...所以我将使用php。我可以解析一个var而不是一个feed?....
问题#2。是否有可能捕获json提要,并将其保存为文件(用于备份目的),因此如果站点关闭(小可能性),我将访问该文件
答案 0 :(得分:7)
首先必须从远程服务器获取JSON数据;不确定如何做到这一点,考虑到似乎存在身份验证机制,但可能file_get_contents
或curl
可能有所帮助。
一旦你在PHP变量中有了这个JSON字符串,只需要在其上调用json_decode
来获取你的数据。
例如:
$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来访问加密的(从未使用过的“zoho”)
答案 1 :(得分:2)
json_decode默认情况下会将json字符串转换为对象形式,为了将其用作关联数组,您必须将'true'指定为第二个参数,例如下面的示例。 json_decode($ JSON,真)
答案 2 :(得分:1)
执行您想要的简化代码。
$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 Wrappers已关闭或您需要身份验证标头(或其他特殊标头集),请使用curl库代替file_get_contents
。
答案 3 :(得分:0)
我希望能够打印/访问某些变量,但似乎无法以正确的方式访问数组
基于之前的回答:
$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