以javascript中的字符串形式从服务器读取json文件

Reading in json file from server as string in javascript

本文关键字:服务器 读取 json 文件 javascript 字符串      更新时间:2024-03-28

我有一个小的javascript web应用程序,它读取json格式的硬编码字符串,如下所示(这在脚本内部):

root = {
    "name": "John", "imageURL":"images/root.png","id":"1",
        "children": [
             {"name": "project", "imageURL":"cool.png","id":"2",
             "children":[{"name": "ideas", "imageURL":"object1.png","id":"3"},
                      {"name": "boards", "imageURL":"object2.png","id":"46"}
]},
]
};

然后D3.js使用它来渲染它的图像。相反,我想从服务器上的file.json(与web应用程序的目录相同)中读取这个json。我想我必须使用AJAX。我试过这个:

var output = "";
$.ajax({
url: "file.json",
type: 'Get',
dataType: "json",
success: function (result) {
    output = result; 
}
});

但没有任何结果。

当我需要这样的东西时,我使用了getJSON(),这是你想要的东西的缩写。

你可以这样使用:

$.getJSON('file.json', function(data) {
    // Do something with your data
});

但是,首先,请检查您的JSON。您共享的JSON无效,因为它有一个不应该存在的逗号。

我总是使用像JSONLint这样的验证器来确保这一点。

希望它能有所帮助!

file.json需要是一个有效的json文件,替换它的内容:

{
    "name": "John", "imageURL":"images/root.png","id":"1",
        "children": [
             {"name": "project", "imageURL":"cool.png","id":"2",
             "children":[{"name": "ideas", "imageURL":"object1.png","id":"3"},
                      {"name": "boards", "imageURL":"object2.png","id":"46"}
        ]}
    ]
}