如何使用PHP获取Json数据
我在使用PHP获取Json数据时遇到了一个问题。我有一个包含JSON数据的URL,如下所示如何使用PHP获取Json数据,php,json,Php,Json,我在使用PHP获取Json数据时遇到了一个问题。我有一个包含JSON数据的URL,如下所示 { "Profile":{ "email":"abc@gmail.com", } } 当调用该URL时,我应该从JSON数据中获取电子邮件 $prof=json_decode($_REQUEST['Profile']); 但是没有获取任何数据。这里我需要从该json值获取电子邮件。请帮助我。json中的电子邮件id后面有一个额外的逗号
{
"Profile":{
"email":"abc@gmail.com",
}
}
当调用该URL时,我应该从JSON数据中获取电子邮件
$prof=json_decode($_REQUEST['Profile']);
但是没有获取任何数据。这里我需要从该json值获取电子邮件。请帮助我。json中的电子邮件id后面有一个额外的逗号
因此,您的json是不完整的
如果您删除它,您将收到电子邮件
更正代码:
<?php
$json = '{
"Profile":{
"email":"abc@gmail.com"
}
}';
$arr = json_decode($json);
echo $arr->Profile->email;
?>
如果您管理json所在的页面,可以注意不要添加这个额外的逗号
编辑:
如果JSON中的元素和子元素的格式相同,则以下代码将起作用:
<?php
$json = '{
"Profile":{
"email":"abc@gmail.com",
}
}';
$json = str_replace(' ', '', $json);
$json = str_replace('",', '"', $json);
$json = json_decode($json);
echo $json->Profile->email;
?>
遵循哪些步骤:
1) 删除的空间
2) 将“,
替换为”
3) 解码json。这样做
$prof=json_decode($_REQUEST);
您将在php中获得一个对象。那么就这样做:
$prof->Profile->email
您可以查看我的示例以了解描述视图
根据文档,您需要指定是否需要关联数组而不是json\u decode
中的对象,这将是以下代码:
json_decode($jsondata, true);
如果您使用的php小于5.2,您可以使用此资源。
对象的属性和数组的元素可能是更多的对象或数组。您可以使用此语法简单地访问它们的属性和成员。$this->object->element
$data = json_decode($json);
$email = $data->Profile->email
print_r($email);
要获取URL值,可以尝试以下操作:
$url = "http://example.com";
$json = file_get_contents($url);
$json_data = json_decode($json, true);
echo "<pre>";
print_r($json_data["Profile"]['email']);
echo "</pre>";
$url=”http://example.com";
$json=文件获取内容($url);
$json_data=json_decode($json,true);
回声“;
打印($json_数据[“配置文件”][“电子邮件]);
回声“;
首先,您必须删除电子邮件后面的逗号,因为它是无效的JSON。您可以通过以下链接检查JSON的有效性
然后考虑下面的代码段…
根据给定的JSON,它在“$result”对象中包含“Profile”对象。因此,您可以以给定的方式访问对象属性。因此,如果您仍然不确定如何操作,只需将有效的JSON分配给给定代码中的$JSON变量,并保持代码的其余部分不变即可!!:-) URL是什么样子的@Satya这是您完整的json吗?您必须先解码响应,然后才能访问它们。@devpro:不,我有很多这样的数据。您的请求配置文件中有哪些数据?所有json数据都带有URL。我只需获取这些数据。添加一个解释,说明这种方法为什么有效,将使您的贡献对站点更有价值。
$url = "http://example.com";
$json = file_get_contents($url);
$json_data = json_decode($json, true);
echo "<pre>";
print_r($json_data["Profile"]['email']);
echo "</pre>";
$json = '{
"Profile": {
"email": "abc@gmail.com"
}
}';
$result = json_decode ($json);
var_dump($result->Profile->email);