更改json密钥名称[使用json_encode生成的json]

Vam*_*a B 6 php json

我正在使用数组生成json json_encode(),它正常工作,但它像往常一样使用数组中的键:值.但我想只在json输出中更改键的名称..是否可以这样做?或者我应该准备json密钥:自己手动赋值?

例:

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

echo json_encode($arr);
Run Code Online (Sandbox Code Playgroud)

O/P

{"a":1,"b":2,"c":3,"d":4,"e":5}
Run Code Online (Sandbox Code Playgroud)

我想要 .

{"foo":1,"something":2,"bar":3,"foo":4,"baz":5}
Run Code Online (Sandbox Code Playgroud)

编辑:我无法编辑原始数组..(使用framweork生成)

Jos*_*ndo 5

只有你自己改写.你可以使用:

$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);
Run Code Online (Sandbox Code Playgroud)

不确定这是不是你的目标.