Javascript 将数组转换为给定的json格式

Javascript 将数组转换为给定的json格式,javascript,json,Javascript,Json,我有一个数组,我想把它转换成所需的json格式 Array ( [0] => 12345@gmail.com [1] => 3321312312312@21432143214.com [2] => A@B.com [3] => abc@fd.com [4] => ABCD@gmail.com ) [ {id:0,text:"12345@gmail.com"}, {id:1,text:"3321312312312@21

我有一个数组,我想把它转换成所需的json格式

Array ( [0] => 12345@gmail.com [1] => 3321312312312@21432143214.com [2] => A@B.com [3] => abc@fd.com [4] => ABCD@gmail.com  )
[
    {id:0,text:"12345@gmail.com"},
    {id:1,text:"3321312312312@21432143214.com"},
    {id:2,text:"A@B.com"},
    {id:3,text:"abc@fd.com"},
    {id:4,text:"ABCD@gmail.com"}
]
必需的json格式

Array ( [0] => 12345@gmail.com [1] => 3321312312312@21432143214.com [2] => A@B.com [3] => abc@fd.com [4] => ABCD@gmail.com  )
[
    {id:0,text:"12345@gmail.com"},
    {id:1,text:"3321312312312@21432143214.com"},
    {id:2,text:"A@B.com"},
    {id:3,text:"abc@fd.com"},
    {id:4,text:"ABCD@gmail.com"}
]
我已经试过了

var jsonObj = {};
for (var i = 0 ; i < sampleArray.length; i++) {
    jsonObj["id:" + (i+1)] ,"text:" sampleArray[i];
}
console.log(jsonObj);
var jsonObj={};
对于(var i=0;i

获取错误。如何将其转换为所需格式

只需映射
样本数组

const sampleArray=['12345@gmail.com', '3321312312312@21432143214.com','A@B.com', 'abc@fd.com', 'ABCD@gmail.com']
var jsonObj=sampleArray.map((el,index)=>({id:index+1,text:el}))

console.log(jsonObj)对于您可能更熟悉的解决方案,这里是您尝试使用的循环的固定版本。对于数组中的每个元素,我创建了一个名为
item
的对象,并将数组中元素的索引所需的
id
和存储在该索引中的文本值所需的
text
存储在该对象中,然后我将
item
对象推入数组中

const sampleArray=['12345@gmail.com', '3321312312312@21432143214.com','A@B.com', 'abc@fd.com', 'ABCD@gmail.com']
var jsonObj=[];
对于(var i=0;iconsole.log(jsonObj)必需的json格式-这不是有效的json-将其放入json lint中以检查
const yourNewArray=yourOriginalArray.map((项,索引)=>{id:index,text:item})
对代码进行细微更改以更接近所需的(但不是“json”)输出:
jsonObj[“id:”+(i+1)]=“text:”+sampleArray[i]
JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么就不是JSON。为什么不使用PHP将数组转换为JSON呢。请看:我看到的一个问题是,在PHP中,数组的构造不正确。请参阅更多:为了澄清,我的问题是标识符周围缺少
。javascript对象(如此答案)和“json”(字符串)之间也有区别,但这只是
json.stringify(jsonObj)
…请参阅“jsonObj”“-毫无意义:)这就像调用变量
var intObj
var intString
。不管怎样,你的答案可能是OP真正想要的(和其他答案一样,代码不同,最终结果相同)