在PHP中将数字字符串键与json_decode一起使用

时间:2019-11-02 23:52:05

标签: php arrays json associative-array jsonconvert

我有一个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中被引用为字符串。

0 个答案:

没有答案