我有这样的JSON字符串数组:
var stringold= [
{"aptid":1,"businesname":"skulink","ownrnm":"rajiv"},
{"aptid":2,"businesname":"prodegios","ownrnm":"sanjeev"}
]
请查看以下链接了解详细信息,我想要实现的目标 -
https://datatables.net/examples/data_sources/js_array.html
var newstring=[
["aptid":1,"businesname":"skulink","ownrnm":"rajiv"],
["aptid":2,"businesname":"prodegios","ownrnm":"sanjeev"]
]
答案 0 :(得分:0)
尝试迭代通过对象数组,对于第一个对象,只需获取列名称,使其全部相同,并且所有对象都迭代它以生成数据
var stringold= [
{"aptid":1,"businesname":"skulink","ownrnm":"rajiv"},
{"aptid":2,"businesname":"prodegios","ownrnm":"sanjeev"}
]
var columns = [];
var data = [];
//using forEach
/*stringold.forEach(function(ele,ind){
var dummy = [];
for(var prop in ele){
if(ind == 0){
columns.push({title:prop})
}
dummy.push(ele[prop]);
}
data.push(dummy);
});*/
//using loop
for(var i=0;i<stringold.length;i++){
var ele = stringold[i]
var dummy = [];
for(var prop in ele){
if(i == 0){
columns.push({title:prop})
}
dummy.push(ele[prop]);
}
data.push(dummy);
};
console.log(columns,data);
&#13;
答案 1 :(得分:0)
您可以迭代对象,然后迭代对象的键并映射值。
var arrayOld = [{ aptid: 1, businesname: "skulink", ownrnm: "rajiv" },{ aptid: 2, businesname: "prodegios", ownrnm: "sanjeev" }],
arrayNew = arrayOld.map(function (o) {
return Object.keys(o).map(function (k) {
return o[k];
});
});
console.log(arrayNew);
.as-console-wrapper { max-height: 100% !important; top: 0; }
答案 2 :(得分:-1)
新闻串甚至是一种合法的语法......你试图扭曲一个对象周围的数组。让我猜你正试图访问你的代码,但你不知道如何使用对象访问它。在这里,你去了好友;
var stringold= [
{"aptid":1,"businesname":"skulink","ownrnm":"rajiv"},
{"aptid":2,"businesname":"prodegios","ownrnm":"sanjeev"}
];
//Access aptid of the first line
id = stringold[0].aptid;
//Access businesname from all lines & change their value
for (i = 0; i < stringold.length; i++) {
stringold[0].businesname = "businesplaceholder";
}
//get keynames
a = stringold[0];
myKeys = Object.keys(a);
console.log(myKeys);
//loop through first object
b = stringold[0];
for (key in b) {
console.log(b[key])
}
//add something to the first object
stringold[0].newVal = "Value";
//so to add this for all lines
for (j= 0; j < stringold.length; j++) {
stringold[j].newVal = "Value";
}
//Brute force single key
//here's a fix for e['datakey[f]'] >> e[x]
vix = function(e,f){
a = "string";
e[a] = datakey[f];
x = e.string;
end = e[x];
delete e.string;
return end;
};
a = stringold[0];
vix(a,1); //for a.businesname
//here's a fix to define that variable
vox = function(e,f,string){
a = "string";
e[a] = datakey[f];
x = e.string;
end = e[x] = string;
delete e.string;
};
a = stringold[0];
vox(a,1,"newname"); //for a.businesname
&#13;