温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php将json转成数组对象的方法是什么

发布时间:2023-05-11 11:10:27 来源:亿速云 阅读:102 作者:zzz 栏目:编程语言

这篇“php将json转成数组对象的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php将json转成数组对象的方法是什么”文章吧。

JSON是一种轻量级的数据交换格式,具有结构清晰、易于读写等特点。PHP内置JSON处理函数,可以很方便地将JSON转化为数组或对象形式。

假设我们有如下JSON数据:

{
    "name": "Tom",
    "age": 20,
    "address": {
        "province": "Guangdong",
        "city": "Guangzhou"
    },
    "hobbies": [
        "reading",
        "swimming"
    ]
}

使用PHP的json_decode()函数可以将其转化为数组对象。函数的用法如下:

array|object json_decode(string $json[, bool $assoc = false[, int $depth = 512[, int $options = 0]]])

参数说明:

  • $json:需要解码的JSON字符串。

  • $assoc(可选):当该参数为真时,将返回数组形式,为假时返回对象形式。默认为假。

  • $depth(可选):设置解析JSON数据的最大深度。默认为512,超出范围将返回null。

  • $options(可选):设置JSON解码器的选项,如JSON_BIGINT_AS_STRING可以将大整数视为字符串返回。

代码示例:

$jsonStr = '{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }';

$array = json_decode($jsonStr, true);

print_r($array);

输出结果:

Array
(
    [name] => Tom
    [age] => 20
    [address] => Array
        (
            [province] => Guangdong
            [city] => Guangzhou
        )

    [hobbies] => Array
        (
            [0] => reading
            [1] => swimming
        )
)

可以看到,json_decode()函数将JSON字符串转化为了PHP数组对象。

如果要将JSON数据转化为PHP对象形式,可以去掉函数中的第二个参数或将其设置为false。

除了将JSON数据转化为数组或对象形式,PHP还可以将数组或对象形式的数据编码为JSON字符串。这可以使用PHP的json_encode()函数实现。函数用法如下:

string json_encode(mixed $value[, int $options = 0[, int $depth = 512]])

参数说明:

  • $value:需要编码为JSON字符串的值。

  • $options(可选):设置JSON编码器的选项,如JSON_PRETTY_PRINT可以使编码后的JSON字符串更易于阅读。

  • $depth(可选):设置编码JSON数据的最大深度。默认为512,超出范围将返回空字符串。

代码示例:

$array = array(
    'name' => 'Tom',
    'age' => 20,
    'address' => array(
        'province' => 'Guangdong',
        'city' => 'Guangzhou'
    ),
    'hobbies' => array(
        'reading',
        'swimming'
    )
);

$jsonStr = json_encode($array, JSON_PRETTY_PRINT);

echo $jsonStr;

输出结果:

{
    "name": "Tom",
    "age": 20,
    "address": {
        "province": "Guangdong",
        "city": "Guangzhou"
    },
    "hobbies": [
        "reading",
        "swimming"
    ]
}

以上就是关于“php将json转成数组对象的方法是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI