当前位置: 首页 > 面试题库 >

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

阙奇思
2023-03-14
问题内容

我正在使用从数组生成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生成)


问题答案:

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

$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);

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



 类似资料:
  • 问题内容: 我的UserDetails类与Entitity类Vehicle具有一对一的映射。创建2个表并分配一个通用外键,该键将vehicle_id列(UserDetails表)映射到主键vehicleId(Vehicle表)。 我的问题是:如何将生成的外键更改为有意义的内容,例如Fk_userdetails_vehicle。 问题答案: 从JPA 2.1开始,您可以使用@ javax.persi

  • 我的UserDetails类与Entitity类Vehicle有一个一对一的映射。创建两个表并分配一个泛型外键,该外键映射vehicle_id列(UserDetails表)至主键vehicleId(Vehicle table)。 我的问题是:我们如何将这个生成的外键改变成有意义的东西,比如Fk_userdetails_vehicle。

  • 我正在使用maven Struts2空白工件来创建我的web应用程序。以下是我的pom.xml:- 上面的pom.xml使用jetty服务器创建war文件。因此,当我运行mvn jetty:war-run时,它会创建名为myArtifact-3.war(artifactId-version)的war文件,但我希望我的war文件名为myweb.war。我在pom.xml的配置中使用了war标记来指定

  • 目标:我正在设计一个RESTAPI,它允许用户在HTTP GET请求的查询字符串上传递参数。差不多 实现:在服务器端,我有一个模型绑定器,它接受这3个参数——api键、术语和行,并将它们转换为C#对象,这样我的控制器操作方法就不必解析查询字符串。控制器动作方法签名看起来像 问题:我在Swagger中遇到的是,当它生成留档和测试线束时,它将输入参数列为request.api键、request.ter

  • 每次我用Android Studio(1.02)运行一个项目时,它都会生成一个未签名的apk,该apk位于..\build\outputs\apk文件夹中,默认情况下获得名称“app-debug.apk”

  • 问题内容: 我正在使用杰克逊将我的对象转换为json。该对象具有2个字段: 由于我想将其与jQuery自动完成功能一起使用,因此我希望“ id”在json中显示为“ value”,在“ name”中显示为“ label”。杰克逊的文档不明确这一点,我已经想尽注释,甚至远程好像它做什么,我需要,但我不能让显示为,并显示为在JSON。 有谁知道该怎么做或是否可能? 问题答案: 您是否尝试过使用@Jso