我正在检索一个以 JSON 开头的本地存储字符串:
[
{
"Key01": "Val01",
"Key02": "Val02",
"Key03": "Val03",
"KeyInfo1": [
{
"KIName": "KIVal01",
"KIId": "KIVal02"
}
],
"KeyInfo2": [
{
"KIName": "KIVal03",
"KIId": "KIVal04"
}
],
"KeyInfo3": [
{
"KIName": "KIVal05",
"KIId": "KIVal06"
}
]
}
]
并将其转换回 JSON 数组:
var stuff = localStorage.getItem("ls");
var testparse = $.parseJSON(stuff);
我希望能够运行一个 jQuery$.each()
循环来仅隔离名称以“KeyInfo”开头的数组并梳理出它们的数据。我在 HTML 元素上使用了 jQuery 的“属性以选择器开头”功能,这些元素具有现成的选择器,例如 ID 或表单名称,例如:input[name^='news']
. JSON 中是否有这样的选择器?像这样的循环:
$.each(testparse[0]."[key^='KeyInfo']"[0], function(key, value){
console.log(key + ' = ' + value);
});
可以理解地抛出 a Uncaught SyntaxError: Unexpected string
,因为我在将自己设置为与 $.each() 循环关联的函数中的属性之前尝试访问一个键。这样的场景可行吗?如果没有,有人可以推荐一种方法来隔离那些以“KeyInfo”开头的数组吗?