php怎么将数组转成JSON并保留key

2023-05-14 20:05:22 数组 保留 转成

PHP开发中,数组转换成JSON格式的数据是非常常见的操作。但是,在转换过程中,有时候需要保留数组中的key不被丢失。本文将介绍两种方法来实现php数组转换成jsON并保留key的方法。

方法一:使用json_encode()函数

json_encode()函数是PHP中将数组转换成JSON的主要函数。默认情况下,该函数会将数组中的key丢失,只保留value。但是,我们可以使用JSON_FORCE_OBJECT选项来强制将数组转换成object并保留key。

示例代码:

//一个简单的关联数组
$arr = array(
    "name" => "John",
    "age" => 30,
    "city" => "New York"
);
 
//将数组转换成JSON并强制转换成object
$json = json_encode($arr, JSON_FORCE_OBJECT);
 
//输出JSON字符串
echo $json;

运行结果:

{"name":"John","age":30,"city":"New York"}

可以看到,转换后的JSON字符串保留了数组中的key。

方法二:使用json_decode()函数

除了json_encode()函数,我们还可以使用json_decode()函数将JSON字符串转换回PHP数组,并保留原有的key。需要注意的是,json_decode()函数默认将JSON字符串转换成PHP对象,因此需要将第二个参数设置成true以将其转换成关联数组。

示例代码:

//一个JSON字符串
$json = '{"name":"John","age":30,"city":"New York"}';
 
//将JSON字符串转换成数组并保留key
$arr = json_decode($json, true);
 
//输出数组
print_r($arr);

运行结果:

Array
(
    [name] => John
    [age] => 30
    [city] => New York
)

总结:

本文介绍了两种方法来实现PHP数组转换成JSON并保留key。使用json_encode()函数将数组转换成object并保留key是较为简单的方法,而使用json_decode()函数将JSON字符串转回PHP数组并保留key可以更好地满足一些需要先转换成JSON再转回PHP数组的场景。无论哪种方法,都可以轻松地完成PHP数组转换成JSON并保留key的操作,为开发人员提供了无限便利。

以上就是php怎么将数组转成JSON并保留key的详细内容,更多请关注其它相关文章!

相关文章