我有一个JSON文件,我保存为flipkart.json:
flipkart = '[{
"signup1":
{
"firstname": "ravi",
"lastname" : "kota",
"mobileno" : 9555558039,
"DOB" : "19-Mar-1980",
"emailid" : "kota.raavi@gmail.com",
"password" : "password"
}}]';
我写了一个Javascript文件,如下所示,我保存为script.js:
function load()
{
var mydata = JSON.parse(flipkart);
//alert(mydata[0].firstname);
//alert(mydata[0].lastname);
alert(ravikota);
}
我的HTML代码是:
<html>
<head>
<title>askyb - Load JSON File Locally by Javascript Without
JQuery</title>
<script type="text/javascript" src="C:\Users\Kota
Ravi\Desktop\rainbow\flipkart.json"></script>
<script type="text/javascript" src="C:\Users\Kota
Ravi\Desktop\rainbow\script.js"></script>
</head>
<body onload="load()">
askyb - Load JSON File Locally by Javascript Without JQuery
</body>
</html>
当我尝试在同一目录中打开html文件时,HTML控制台会将错误显示为:
Uncaught SyntaxError: Invalid or unexpected token
script.js:3 Uncaught ReferenceError: flipkart is not defined
at load (script.js:3)
at onload (rainbow.html:7)
我想知道为什么控制台无法识别我的flipkart.json
文件。谢谢。
答案 0 :(得分:0)
您的JSON无效,如果您想在不使用Javascript的情况下包含它,那么您从技术上讲只是在其中创建一个包含对象数组的文件。 JSON文件不能像脚本一样包含在页面中,然后在您尝试完成时被引用。
此外,如果您要将其创建为有效的JSON,则必须看起来更像这样。但在你的情况下,这不会解决问题。
[
{
"signup1": {
"firstname": "ravi",
"lastname": "kota",
"mobileno": 9555558039,
"DOB": "19-Mar-1980",
"emailid": "kota.raavi@gmail.com",
"password": "password"
}
}
]
让我们修复您的代码。首先,将flipkart.json
重命名为flipkart.js
并更改HTML中的脚本包含以便首先包含它:
flipkart = [{
"signup1":
{
"firstname": "ravi",
"lastname" : "kota",
"mobileno" : 9555558039,
"DOB" : "19-Mar-1980",
"emailid" : "kota.raavi@gmail.com",
"password" : "password"
}}];
这将创建一个名为flipkart
的全局变量,可以从其他脚本和页面中的任何位置访问该变量。我建议阅读全局变量的缺点,你的方法虽然有效,但仍然存在缺陷。
在其中,我们正在创建一个数组并用对象填充它。这只是一个标准数组和Javascript对象,它不是JSON。
最后,在script.js
内,用var mydata = JSON.parse(flipkart);
或更好的方式替换此行var mydata = flipkart;
,直接引用flipkart
而不在您的mydata
中创建type: 'Polygon'
变量脚本。