javascript数组到具有相同键名的对象

时间:2014-04-14 16:27:25

标签: javascript arrays

我有一个不寻常的问题需要解决。我有一系列Guids

[
 "c01f8237-72c8-4fa6-9c53-1915750385aa",
 "2c8a471b-c408-436c-81b1-3f3867d8ffb4",
 "27a44d46-12bd-4784-ceed-57ada31b0e33"
] 

此数组必须转换为:

   {
     id: "c01f8237-72c8-4fa6-9c53-1915750385aa",
     id: "2c8a471b-c408-436c-81b1-3f3867d8ffb4",
     id: "27a44d46-12bd-4784-ceed-57ada31b0e33"
   } 

我知道不应该这样做,但遗憾的是无法控制后端部分。有什么想法吗?

由于

2 个答案:

答案 0 :(得分:2)

字典键的重点是它唯一映射到某个值。您想要的输出会尝试复制一个键,因此既不可能也不合理。

如果您将此传递给后端(如您所建议的那样),那么当然您可以手动构建一个字符串来传递复制有效负载中密钥的线路,但您无法通过首先在JavaScript中实际执行此操作。您必须手动构建字符串。

另请注意,您可以随意调用此格式,但您无法将其称为JSON ,并且您无法使用JSON库来构建它(因为它不是JSON )。如果您的API需要自定义格式,那么您需要编写代码来构建自定义格式。

答案 1 :(得分:1)

如果您想要的只是一个字符串,只需执行类似

的操作
var str = '{' + idArray.map(function(id) { 
       return "id: "+id
   }).join(',\n')+'}';

我不知道你会使用什么类型的mime,因为它不是有效的JSON。