一尘不染

更改json键名[使用json_encode生成的json]

json

我正在使用从数组生成json
json_encode(),它工作正常,但照常使用数组中的key:value。但是我只想在json输出中更改键的名称..可以这样做吗?还是我应该准备json键:手动给自己赋值?

例:

$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

echo json_encode($arr);

O / P

{"a":1,"b":2,"c":3,"d":4,"e":5}

我想要 。

{"foo":1,"something":2,"bar":3,"foo":4,"baz":5}

编辑:我不能编辑原始数组。。(使用framweork生成)


阅读 347

收藏
2020-07-27

共1个答案

一尘不染

只有重写自己。您可以使用:

$rewriteKeys = array('a' => 'foo', 'b' => 'something', 'c' => 'bar', 'd' => 'foo', 'e' => 'baz');

$newArr = array();
foreach($arr as $key => $value) {
  $newArr[ $rewriteKeys[ $key ] ] = $value;
}

echo json_encode($newArr);

不确定这是否是您的目标。

2020-07-27