我想在 Angular 中动态创建一个嵌套的 Json 文件。 它从另一个 Json 文件中提取。 两个嵌套循环读取数据。 Json 文件:
{
"data": [
[
{"dat": "hello", "date": 4, "Nr": "11", "stat": "bye"},
{"dat": "hello", "date": 2, "Nr": "13", "stat": "bye"},
{"dat": "hello", "date": 4, "Nr": "11", "stat": "bye"},
{"dat": "hello", "date": 2, "Nr": "13", "stat": "bye"},
],
[
{"dat": "hello", "date": 4, "Nr": "11", "stat": "bye"},
{"dat": "hello", "date": 2, "Nr": "13", "stat": "bye"},
{"dat": "hello", "date": 4, "Nr": "11", "stat": "bye"},
{"dat": "hello", "date": 2, "Nr": "13", "stat": "bye"},
],
现在我想将其提取到 JavaScript 数组/映射中。 在 ts 文件中。
最佳答案
JSON 数据(即包含序列化 JSON 的字符串)可以直接解析为对象,然后在 JavaScript/TypeScript 中使用。 JSON.parse
是执行此操作的方法。
完整示例:
const json = `{
"data": [
[
{"dat": "hello", "date": 4, "Nr": "11", "stat": "bye"},
{"dat": "hello", "date": 2, "Nr": "13", "stat": "bye"},
{"dat": "hello", "date": 4, "Nr": "11", "stat": "bye"},
{"dat": "hello", "date": 2, "Nr": "13", "stat": "bye"}
],
[
{"dat": "hello", "date": 4, "Nr": "11", "stat": "bye"},
{"dat": "hello", "date": 2, "Nr": "13", "stat": "bye"},
{"dat": "hello", "date": 4, "Nr": "11", "stat": "bye"},
{"dat": "hello", "date": 2, "Nr": "13", "stat": "bye"}
]
]
}`;
const obj = JSON.parse(json);
for (let collection of obj.data) {
for (let item of collection) {
console.log('Item:', item.dat, item.Nr, item.stat);
}
}
添加接口(interface)
您可以添加接口(interface)来改进解析结构的类型信息和自动完成:
interface MyJson {
data: { dat: string, date: number, Nr: string, stat: string }[][];
}
const obj: MyJson = JSON.parse(json);
关于javascript - 如何以 Angular 动态创建嵌套Json文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48319134/