javascript - 如何以 Angular 动态创建嵌套Json文件?

标签 javascript json angular loops typescript

我想在 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/

相关文章:

php - 如何确保 API 请求是由能够做到这一点的特定人员发出的?

javascript - 在 JavaScript 中将变量分配给对象

ios - ObjectMapper toJson 为空

angular - 如何将 Observable 数组合并为具有相同返回类型的单个 Observable

javascript - 如何将 API 响应插入 HTML

javascript - make on keyup 仅在输入内部触发一次

javascript - 具有属性的对象与 JavaScript 中的 OR

javascript - Twitter 中的实时通知是如何实现的?

angular - 在 Angular 8 中初始化嵌套对象的有效方法

javascript - angular2 在模板中显示计算数据