Javascript 将Json数据转换为特定数组
我收到了json的响应,格式如下Javascript 将Json数据转换为特定数组,javascript,arrays,json,Javascript,Arrays,Json,我收到了json的响应,格式如下 ["user0", "user1", "user2", "user3", "user5", "user6", "user7"] 我需要把它转换成下面的格式 [ { id: 'user0', text: 'user1'}, { id: 'user1', text: 'user2'}, { id: 'user2', text: 'user3'}, { id: 'user3', text: 'user4'},
["user0", "user1", "user2", "user3", "user5", "user6", "user7"]
我需要把它转换成下面的格式
[
{ id: 'user0', text: 'user1'},
{ id: 'user1', text: 'user2'},
{ id: 'user2', text: 'user3'},
{ id: 'user3', text: 'user4'},
{ id: 'user5', text: 'user5'},
{ id: 'user6', text: 'user6' },
{ id: 'user7', text: 'user7' }
];
如何在javascript中实现这一点。一个简单的循环应该满足您的需要:
var myArray = ["user0", "user1", "user2", "user3", "user5", "user6", "user7"];
var newArray = [];
for (var i = 0, l = myArray.length; i < l; i++) {
var newItem = {id : myArray[i], text: "user" + (i +1)};
newArray.push(newItem);
}
var myArray=[“user0”、“user1”、“user2”、“user3”、“user5”、“user6”、“user7”];
var newArray=[];
for(var i=0,l=myArray.length;i
jshiddle示例-最简单的方法是使用方法:
var arr=[“用户0”、“用户1”、“用户2”、“用户3”、“用户5”、“用户6”、“用户7”],
结果=arr.map(函数(e,i,a){
返回{id:e,text:i
请检查atMDN并在需要时使用。在我将使用的现代浏览器中 如果您必须支持没有ES5支持的旧浏览器,我会使用一个垫片-通常我会对所有的浏览器进行垫片填充,但您也可以只实现您需要的浏览器,文档中有一个实现示例 要知道,在已经支持新fat数组语法的ES6和Firefox Nightly中,您实际上可以:
var array = ["user0", "user1", "user2", "user3", "user5", "user6", "user7"];
var newArray = array.map(item => ({id: item, text: item}));
试试这个 var a = ["user0", "user1", "user2", "user3", "user5", "user6", "user7"]
var array = [];
for(var i =0;i<a.length;i++)
{
var temp = new Object();
temp.id= a[i];
temp.text = a[i];
array.push(temp);
//alert(JSON.stringify(array));
}
var requiredString = JSON.stringify(array);
alert(requiredString.replace(/"id"/g, 'id').replace(/"text"/g,text));
var a=[“user0”、“user1”、“user2”、“user3”、“user5”、“user6”、“user7”]
var数组=[];
对于(var i=0;我你尝试过什么?阅读常见问题解答plz:它清楚地说明了一个好问题表明OP已经投入了一些精力。你的问题到底是什么?你被困在哪里了?如果你不发布你的代码,我们无法帮你。你尝试过什么吗?我想它包含了你的需要谢谢@praning!!上面的输出是[{“id”:“user0”,“text”:“user0”},{“id”:“user1”,“text”:“user1”},{“id”:“user2”,“text”:“user2”},{“id”:“user3”,“text”:“user3”},{“id”:“user5”},{“id”:“user6”,“text”:“user6”},{“id”:“user7”,“text”:“user7”}]我想要没有引号的id和文本,可以吗?是的。试试它var requiredString=JSON.stringify“/g,'id')。替换(/“text”/g,text));请在回答中查看我的编辑。您需要使用replace
function@rohitj:引号只是数据表示的一部分。它们实际上不是数据本身的一部分。如果您希望数据为JSON,则需要引号。另外,不要忘记接受答案。您可以实现这两个目标。如果您ant Quotence不使用我提到的replace
。如果您想要引用,请使用指示的“replace”。但最好将其与Quotence一起使用,因为它是JSON的默认格式
var array = ["user0", "user1", "user2", "user3", "user5", "user6", "user7"];
var newArray = array.map(item => ({id: item, text: item}));
var a = ["user0", "user1", "user2", "user3", "user5", "user6", "user7"]
var array = [];
for(var i =0;i<a.length;i++)
{
var temp = new Object();
temp.id= a[i];
temp.text = a[i];
array.push(temp);
//alert(JSON.stringify(array));
}
var requiredString = JSON.stringify(array);
alert(requiredString.replace(/"id"/g, 'id').replace(/"text"/g,text));