我如何使用split
parse
和json
特定angularjs
数据。
我的json
是
[{"id":"1", "stud":" name=Alex, roll_no=12 | class=12,sec=1" , "tech":"Sam"},
{"id":"2", "stud":" name=john, roll_no=13 | class=12,sec=2" , "tech":"Sandy"},
{"id":"3", "stud":" name=Cate, roll_no=14 | class=12,sec=1" , "tech":"Sandy"},
]
我想解析这个json格式的数据,比如 ID = 1 。
姓名= Alex。
Roll No = 12。
类= 12。
部= 1。
老师=萨姆。
答案 0 :(得分:0)
使用reduce迭代整个集合。
在集合中的每个Object上,使用Regular Expressions解析stud
属性。创建新字符串并将其添加到新集合中。
// Pseudocode
collection.reduce((memo, item) => {
const values = item.stud.match(" name=Alex, roll_no=12 | class=12,sec=1".match(/^ name=(\w*), roll_no=(\d{2}).../))
// Add it to memo in a format you like
return memo
})
答案 1 :(得分:0)
我写了一些函数......
function getRowFromJson(json, id){
for(var i=0; i<json.length; i++)
if('undefined' == json[i].id) continue;
else if(json[i].id==id) return json[i];
return false;
}
function parseStudFromRow(row){
var stud = {};
var chunks = row.stud.split("|");
for(var i=0; i<chunks.length; i++){
var morechunks = chunks[i].split(",");
for(var n=0; n<morechunks.length; n++){
var chunkage = morechunks[n].split("=");
stud[chunkage[0].trim()] = chunkage[1].trim();
}
}
return stud;
}
你这样使用它..
var row = getRowFromJson(json, 1);
var stud = parseStudFromRow(row);
console.log(stud);