在JavaScript/jQuery中,如何检索名称中包含空格的数据?
我正在使用jQuery的getJSON调用检索JSON 我的问题是返回的JSON中的一些字段中有空格 如何在不更改源数据的情况下从JSON检索这些值?请参阅下面标有“错误”的行: JSON示例:在JavaScript/jQuery中,如何检索名称中包含空格的数据?,javascript,jquery,json,getjson,Javascript,Jquery,Json,Getjson,我正在使用jQuery的getJSON调用检索JSON 我的问题是返回的JSON中的一些字段中有空格 如何在不更改源数据的情况下从JSON检索这些值?请参阅下面标有“错误”的行: JSON示例: jsonp123456789({"data":[{"Zip":"12345","First Name":"Bob"},{"Zip":"23456","First Name":"Joe"},{"Zip":"34567","First Name":"Bill"}]}) 感谢数组成员访问符号也适用于对象 $
jsonp123456789({"data":[{"Zip":"12345","First Name":"Bob"},{"Zip":"23456","First Name":"Joe"},{"Zip":"34567","First Name":"Bill"}]})
感谢数组成员访问符号也适用于对象
$.getJSON(url, null, function(objData) {
$.each(objData.data, function(i, item) {
var zip = item.Zip;
var fname = item['First Name'];
});
});
您可以将其用于任意字符串(那些不是合法标识符的字符串)以及变量
var fieldName = "First Name";
var fname = item[fieldName];
如果要将JSON名称用作Javascript对象,请将其作为键而不是点符号引用。为什么JSON名称中会有空格?标识符中允许空格,但也允许空格。我知道您可以这样做。问题是为什么不使用FirstName,这样就可以使用漂亮的干净点语法。在我的例子中,JSON数据是由第三方提供的。如果我控制数据,我可能会使用FirstName。
var fieldName = "First Name";
var fname = item[fieldName];
$.getJSON(url, null, function(objData) {
$.each(objData.data, function(i, item) {
var zip = item.Zip;
var fname = item["First Name"]; //Changed this
});
});