我有一个JSON字符串,其中包含仅包含数字的字符串键,如下所示:
{
"a":"b",
"1":2,
"3":"4"
}
当我使用json_decode
将其转换为关联数组时,PHP将键解释为整数,并返回以下内容:
array (
'a' => 'b',
1 => 2,
3 => '4'
)
我可以告诉json_encode
将其变成一个对象,这会导致对象具有“字符串”属性名称"1"
和"3"
-但是我需要执行一些数组函数在它上面,所以我真的需要它成为一个关联数组。
有没有办法实现这一目标?
我发现的唯一“解决方案”是在JSON密钥前面加上一个非数字的内容,例如:
{
"a":"b",
"x1":2,
"x3":"4"
}
但是,如果有一种方法可以告诉PHP将键保留为字符串,那将是一件很整洁的事,因为它们实际上在JSON中被引用为字符串。