从 JSON 字符串元素中提取 JSON table
Extract JSON table from JSON string element
我从服务器收到此 JSON 响应:
{
"tab":[
"[[\"2018\",11,\"19\",\"16\",\"13\"],null,null,null,null,null,\"40\"]",
"[[\"2018\",11,\"19\",\"16\",\"19\"],null,null,null,null,null,\"56\"]",
"[[\"2018\",11,\"19\",\"16\",\"21\"],null,null,null,null,\"57\",null]"
]
}
我知道,我可以使用 $.tab[1]
获取 tab
table 返回的第一个元素。返回的元素是一个包含 table 的字符串 - 此 table 的第一个元素是另一个包含日期的 table。问题是我应该使用什么 JSON 路径表达式来从内部 table 或末尾的数字之一中提取年份值 (40, 56, 57)?
当您说可以使用 $.tab[1]
获取第一个元素时,我不确定您的意思。你在使用 jQuery 吗?即便如此,这似乎也没有任何意义。无论如何,您可以解析这些内部表并将它们作为数组正常访问:
var results = {
"tab":[
"[[\"2018\",11,\"19\",\"16\",\"13\"],null,null,null,null,null,\"40\"]",
"[[\"2018\",11,\"19\",\"16\",\"19\"],null,null,null,null,null,\"56\"]",
"[[\"2018\",11,\"19\",\"16\",\"21\"],null,null,null,null,\"57\",null]"
]
};
// you can refactor this as a method for more convenient usage, this is just a demo
var row = JSON.parse(results.tab[0]);
// now you just have a multi-dimensional array, use it as normal
console.log(row[0][0]); //year
console.log(row[6]); //number
我从服务器收到此 JSON 响应:
{
"tab":[
"[[\"2018\",11,\"19\",\"16\",\"13\"],null,null,null,null,null,\"40\"]",
"[[\"2018\",11,\"19\",\"16\",\"19\"],null,null,null,null,null,\"56\"]",
"[[\"2018\",11,\"19\",\"16\",\"21\"],null,null,null,null,\"57\",null]"
]
}
我知道,我可以使用 $.tab[1]
获取 tab
table 返回的第一个元素。返回的元素是一个包含 table 的字符串 - 此 table 的第一个元素是另一个包含日期的 table。问题是我应该使用什么 JSON 路径表达式来从内部 table 或末尾的数字之一中提取年份值 (40, 56, 57)?
当您说可以使用 $.tab[1]
获取第一个元素时,我不确定您的意思。你在使用 jQuery 吗?即便如此,这似乎也没有任何意义。无论如何,您可以解析这些内部表并将它们作为数组正常访问:
var results = {
"tab":[
"[[\"2018\",11,\"19\",\"16\",\"13\"],null,null,null,null,null,\"40\"]",
"[[\"2018\",11,\"19\",\"16\",\"19\"],null,null,null,null,null,\"56\"]",
"[[\"2018\",11,\"19\",\"16\",\"21\"],null,null,null,null,\"57\",null]"
]
};
// you can refactor this as a method for more convenient usage, this is just a demo
var row = JSON.parse(results.tab[0]);
// now you just have a multi-dimensional array, use it as normal
console.log(row[0][0]); //year
console.log(row[6]); //number