[英]Unable to parse the JSON string
我有JSON文件input.json:
{
"consumner_key": {
"display_name": "CONSUMER-KEY:",
"name":"consumer_key",
"format": "string",
"type": "textbox",
"isMandatory": "true"
},
"secret_key": {
"display_name": "CONSUMER-SECRET:",
"name":"consumer_secret",
"format": "string",
"type": "textbox",
"isMandatory": "true"
}
}
我使用$.getJSON()
来获取JSON文件并解析它:
$.getJSON('input.json',function jsonData(Data)
{
$.each(Data, function(m,field)
{
console.log(m);
$('#tabs-4 social').append('<input></input>').attr({type:'text',name:this.consumner_key+''+this.name});
$('#tabs-4 social').append('<input></input>').attr({type:'text',name:this.secret_key+''+this.name});
});
});
当我运行它时,我无法查看选项卡中的输入框。 请指出我出错的地方。
你说你有文件input.js
,但在代码中你有input.json
- 这可能是一个原因吗?
UPDATE
您还为您的函数命名 - jsonData
。 据我所知你不应该命名内联javascript函数,它不会编译。 做就是了
$.getJSON('input.json',function (Data) {
$.each(Data, function(m,field) {
console.log(m);
$('#tabs-4 social').append('<input></input>').attr({type:'text',name:this.consumner_key+''+this.name});
$('#tabs-4 social').append('<input></input>').attr({type:'text',name:this.secret_key+''+this.name});
});
});
更新2
此外,你执行this.consumner_key+''+this.name
和this.secret_key+''+this.name
,而consumner_key
和name
是不同级别的属性。 我相信, this
里面each
应该代表你的JSON对象内的每个单独的子对象。 所以它将有属性name
,但不是consumner_key
。 我可能错了,但无论如何this
不能兼具两个属性。
我终于设法清除了所有错误。在tomcat的web.xml中指定MIME类型是不够的。我不得不在我的js文件中手动覆盖它。下面的代码删除了错误“not well formed”
$.ajaxSetup({beforeSend: function(xhr){
if (xhr.overrideMimeType)
{
xhr.overrideMimeType("application/json");}
}
});
另外,我在jsp和javascript文件中引用了json文件,这导致了无效的标签错误
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.