9

我正在尝试解析 JSON 中的字符串,但不知道该怎么做。这是我试图解析为 PHP 数组的字符串的示例。

$json = '{"id":1,"name":"foo","email":"foo@test.com"}';  

是否有一些库可以将 id、name 和 email 放入数组中?

4

4 回答 4

19

可以使用 来完成json_decode(),请务必将第二个参数设置为,true因为您想要一个数组而不是对象。

$array = json_decode($json, true); // decode json

输出:

Array
(
    [id] => 1
    [name] => foo
    [email] => foo@test.com
)
于 2012-11-28T07:36:06.853 回答
5

尝试json_decode

$array = json_decode('{"id":1,"name":"foo","email":"foo@test.com"}', true);
//$array['id'] == 1
//$array['name'] == "foo"
//$array['email'] == "foo@test.com"
于 2012-11-28T07:35:34.693 回答
4
$obj=json_decode($json);  
echo $obj->id; //prints 1  
echo $obj->name; //prints foo

把这个数组做这样的事情

$arr = array($obj->id, $obj->name, $obj->email);

现在你可以像这样使用它

$arr[0] // prints 1
于 2012-11-28T07:37:16.023 回答
1

您可以使用json_decode()

$json = '{"id":1,"name":"foo","email":"foo@test.com"}';  

$object = json_decode($json);

Output: 
    {#775 ▼
      +"id": 1
      +"name": "foo"
      +"email": "foo@test.com"
    }

使用方法: $object->id //1

$array = json_decode($json, true /*[bool $assoc = false]*/);

Output:
    array:3 [▼
      "id" => 1
      "name" => "foo"
      "email" => "foo@test.com"
    ]

使用方法: $array['id'] //1

于 2019-02-14T09:29:25.130 回答