在 JavaScript/jQuery 中,如何检索名称中包含空格的数据?
Posted
技术标签:
【中文标题】在 JavaScript/jQuery 中,如何检索名称中包含空格的数据?【英文标题】:In JavaScript/jQuery, how to retrieve data that has spaces in its name? 【发布时间】:2010-12-24 05:42:04 【问题描述】:我正在使用 jQuery 的 getJSON 调用检索 JSON。
我的问题是返回的 JSON 中的某些字段中有空格。
如何在不更改源数据的情况下从 JSON 中检索这些值?请参阅下面标有“错误”的行:
$.getJSON(url, null, function(objData)
$.each(objData.data, function(i, item)
var zip = item.Zip;
var fname = item.First Name; //ERROR
);
);
示例 JSON:
jsonp123456789("data":["Zip":"12345","First Name":"Bob","Zip":"23456","First Name":"Joe","Zip":"34567","First Name":"Bill"])
谢谢
【问题讨论】:
如果你想将它用作javascript对象,为什么JSON名称中有空格? 标识符中允许有空格,尴尬但允许。 我知道你能做到。问题是为什么不只使用 FirstName,这样您就可以使用漂亮的干净点语法。 在我的例子中,JSON 数据是由第 3 方提供的。如果我控制数据,我可能会使用 FirstName。 【参考方案1】:数组成员访问表示法也适用于对象。
$.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];
【讨论】:
【参考方案2】:$.getJSON(url, null, function(objData)
$.each(objData.data, function(i, item)
var zip = item.Zip;
var fname = item["First Name"]; //Changed this
);
);
使用作为键而不是点符号来引用项目
【讨论】:
以上是关于在 JavaScript/jQuery 中,如何检索名称中包含空格的数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 JavaScript / jQuery 中合并两个函数?
如何在 JavaScript/jQuery 中查找数组是不是包含特定字符串?
如何在 Javascript/jQuery 中动态切片数组?