JsonStructure:
{
"share": [
{
"id": "1",
"name": "Denver",
"address": [
"people"
],
"iconUrl": ""
},
{
"id": "1",
"name": "Cook",
"address": [
"people",
"student"
],
"iconUrl": ""
}
]
}
我想在Nativescript-angular2中解析地址数组。如果您看到地址数组,则其中没有对象。所以我不知道该怎么解析。
代码:
我在下面尝试过的代码:
for (let i = 0; i < response.share.length; i++) {
let myApp = new Share();
myApp.address = share[i].address;
}
答案 0 :(得分:1)
尝试像这样解析您的JSON
for(s of response['share']){
let add = s['address']; // address array of share obj
add.forEach(address=>{console.log(address)}) // all addresses
答案 1 :(得分:0)
使用flat()方法
flat()方法使用所有子数组元素创建一个新数组 递归连接到指定深度。
let d= this.data.share.map((d)=>d.address);
console.log(d.flat());
或
使用flatMap()
flatMap()方法首先使用映射函数映射每个元素, 然后将结果展平为新数组。与地图相同 后面跟一个深度为1的单位,但是flatMap通常非常有用,因为 将两者合并为一种方法会更有效。
this.data.share.flatMap((d)=>d.address)
RefforFlat:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat
RefForFlatMaphttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap