将json字符串转换为变量

时间:2018-06-30 03:06:22

标签: php json

也许我的问题有点不合理,但是我问什么问题呢?

我有一个像下面这样的简单脚本

<?php
$r['code'] = 200;
$r['result'] = "hello world";
$r['down'][0] = "first";
$r['down'][1] = "second";
echo json_encode($r, JSON_PRETTY_PRINT);
?>

,脚本的结果是

{
  "code": 200,
  "result": "hello world",
  "down": [
    "first",
    "second"
  ]
}

如上所示,可以使用json_encode将变量转换为json,对于我的问题,我们可以将json改回变量吗?

例如

之前

{
  "code": 200,
  "result": "hello world",
  "down": [
    "first",
    "second"
  ]
}

之后

<?php
$r['code'] = 200;
$r['result'] = "hello world";
$r['down'][0] = "first";
$r['down'][1] = "second";
echo json_encode($r, JSON_PRETTY_PRINT);
?>

3 个答案:

答案 0 :(得分:2)

只需使用enter image description here

$json = '{
  "code": 200,
  "result": "hello world",
  "down": [
    "first",
    "second"
  ]
}';

$r = json_decode($json, true);
print_r($r);

此打印:

Array
(
    [code] => 200
    [result] => hello world
    [down] => Array
        (
            [0] => first
            [1] => second
        )

)

答案 1 :(得分:1)

是的,我们可以使用json_decode()

$a =  json_decode($r, true);

真的是说我们要使用常规数组

$array['item'] 

如果设置为false,将使用

访问该属性
$array->item

答案 2 :(得分:0)

使用json_decode()将JSON数组转换为PHP数组。

$json_array = '{
  "code": 200,
  "result": "hello world",
  "down": [
    "first",
    "second"
  ]
}';

$r = json_decode($json_array);