javascript - 不使用 jQuery 解析 json 并在 HTML 代码中添加值

标签 javascript json

首先:我不想使用 jQuery。

我想找到一种方法来解析这种类型的 json 并将其文本添加到特殊标记中:

{
    "datas": {
        "General": [
            {
                "id": "hotel_name",
                "value": "My Hotel name"
            },
            {
                "id": "hotel_description",
                "value": "Lorem ipsum dolor..."
            }
        ],
        "Photos": [
            {
                "id": "photo1",
                "value": "house.png"
            },
            {
                "id": "photo2",
                "value": "house.png"
            }
        ]
    }
}

在 HTML 上我有特殊标签:

<mytag id="hotel_name"></mytag>

必须成为:

<mytag id="hotel_name">My Hotel name</mytag>

我尝试过这个:

function createElements(elements) {
    elements = JSON.parse(elements);

    elements.forEach(funciton (element) {
        var div = document.getElementById(element.id);
        div.innerHTML = element.text;
    });
}

var request = new XMLHttpRequest();

request.onload = createElements;
request.open("get", "datas.json", true);
request.send();

但它并没有像我想要的那样工作。

你有什么提示吗?

谢谢。

最佳答案

我认为你的意思是:

elements.datas.General.forEach(function (element) {
    var div = document.getElementById(element.id);
    div.innerHTML = element.text;
});

您必须先解析每个 JSON 属性,然后才能循环数组。

关于javascript - 不使用 jQuery 解析 json 并在 HTML 代码中添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28882926/

相关文章:

javascript - RXJS 为什么只有最后一个数字既有a又有b?

Python REST API 发布列表

javascript - 如何使用 angular.js $http 服务在 PHP 后端 API 中实现 'hit' 特定功能?

php - API平台: Can't get using a json data type with MySQL to work

javascript - 复选框显示/隐藏不适用于 jQuery

javascript - 从 ASP.NET 转义 JavaScript 特殊字符

r - 从 R 访问 OpenAI (json) API

javascript - 是否可以对本地文件使用 xhr?

javascript - $state.go 和导航方向

javascript - 如何提高这个 js 脚本的性能(函数调用呈指数增长)?