我有一个包含内容的
JSON文件
{"name" : "Conrad","info" : "tst","children" : [ {"name" : "Rick" },{"name" : "Lynn" },{"name" : "John","children": [ {"name" : "Dave","children": [ {"name" : "Dave" },{"name" : "Chris" } ]},{"name" : "Chris" } ]} ]};
我想在Javascript中导入这个JSON文件数据,并且具有最终的结果
var treeData ={"name" : "Conrad","children" : [ {"name" : "Rick" },"children": [ {"name" : "Dave","children": [ {"name" : "Dave" },{"name" : "Chris" } ] },{"name" : "Chris" } ]} ]};
我尝试了很多代码示例,但没有工作.
解决方法
解析文件的内容如下所示:
var treeData = JSON.parse(fileContent);
您不会描述如何获取文件,但您可以使用简单的XMLHttpRequest将其从服务器加载.这是一个有用的资源:
Using XMLHttpRequest
var treeData; var oReq = new XMLHttpRequest(); oReq.onload = reqListener; oReq.open("get","yourFile.txt",true); oReq.send(); function reqListener(e) { treeData = JSON.parse(this.responseText); }
基于以下意见进行更新:
您无法使用JSON.parse()加载文件.此功能只能将现有的字符串转换为对象(如果内容是有效的JSON格式).
你需要:
>使用例如AJAX将文件从服务器加载到变量(如图所示).由于安全原因,您不能使用本地文件路径.设置本地服务器来运行您的页面,如免费的轻巧Mongoose web server.这将让您将根指向本地文件夹,然后使用http:// localhost /
>当加载文件时,您可以将内容传递给JSON.parse()函数.上面的例子显示了整个过程.只需在代码中替换与实际链接.