如何使用PHP获取Json数据

如何使用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后面有一个额外的逗号

我在使用PHP获取Json数据时遇到了一个问题。我有一个包含JSON数据的URL,如下所示

 {  
       "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);