[英]Simple JSON file produces Undefined error Javascript
I have a simple set of HTML and JS files that both spectacularly fail, and I can't figure out why:我有一组简单的 HTML 和 JS 文件都失败了,我不知道为什么:
<html>
<head>
<script type="text/javascript" src="data.json"></script>
</head>
<body>
</body>
</html>
var data = '{"name" : "Phil Powell"}';
alert(data + ' ' + data.name + ' ' + data.type);
But every single time I try to open this up, I get the exact same error every single time:但是每次我尝试打开它时,每次都会遇到完全相同的错误:
{"name" : "Phil Powell"} undefined undefined
What am I doing wrong?我究竟做错了什么? All I want to do is parse an external JSON file, and I can't seem to do it.
我想做的就是解析一个外部 JSON 文件,我似乎做不到。
Please help.请帮忙。
Thanks谢谢
var data = '{"name" : "Phil Powell"}';
remove the enclosing apostrophe lie shown below删除如下所示的封闭撇号谎言
var data = {"name" : "Phil Powell"};
You data is a string.你的数据是一个字符串。 You need to first convert data to object to access by key.
您需要先将数据转换为 object 才能按键访问。
var data = '{"name": "Phil Powell","type":"something"}'; var obj = JSON.parse(data); console.log(data + ' ' + obj.name + ' ' + obj.type);
Remove object quotes like:删除 object 引号,例如:
var data = {"name": "Phil Powell", "type": "ABC"}; alert(data.name + ' ' + data.type);
I hope this helps我希望这有帮助
var data = {"name": "Phil Powell", "type": "Mars Volta"}; console.log(data['name'] + ' ' + data['type']); var data = '{"name": "Phil Powell", "type": "Mars Volta"}'; var obj = JSON.parse(data); console.log(obj.name + ' ' + obj.type);
In two ways you can make it work,您可以通过两种方式使其工作,
1. Removing single quotes from the string 1.从字符串中去除单引号
var data = '{"name" : "Phil Powell","type":"something"}';
instead of this use below而不是下面的这种用法
var data = {"name": "Phil Powell","type":"something"};
console.log(data.name, data.type);
2. Convert your string to JSON object using JSON.parse()
2. 使用
JSON.parse()
将您的字符串转换为 JSON object
`var data = '{"name" : "Phil Powell","type":"something"}';`
`var obj = JSON.parse(data);`
`console.log(data.name, data.type);`
did you try src= data.js??你试过 src=data.js 吗?
<script type="text/javascript" src="data.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.