我的JSON看起来像这样 -
[{
"Columnd58eae9aee6a43b9836e59254e914f43": 1,
"Metric": "7e70661f-e266-4745-9b1b-c5c5691e9746",
"MetricDisplay": "Active Users",
"Pivot1": 40.00000,
"Pivot2": 38.00000,
"Pivot3": 18.00000,
"Total": 96.00000,
"Average": 32.00000,
"IsTotal": 0,
"MetricOrder": 1
}]
但是在这个例子中我有3个“Pivot”列,可能而且很可能会更多。如何使用jQuery确定我拥有的Pivot列的数量和这些元素的值?
答案 0 :(得分:0)
将Pivot
的结构更改为数组:
var obj = [{
"Columnd58eae9aee6a43b9836e59254e914f43": 1,
"Metric": "7e70661f-e266-4745-9b1b-c5c5691e9746",
"MetricDisplay": "Active Users",
"Pivots": [40.00000, 38.00000, 18.00000],
"Total": 96.00000,
"Average": 32.00000,
"IsTotal": 0,
"MetricOrder": 1
}]
这样,您可以使用以下任一方法找到Pivots
元素的长度:
obj["Pivots"].length
obj.Pivots.length
答案 1 :(得分:0)
理想情况下,您使用数组:
Pivot: [ 40.00, 38.00, 18.00, ... ],
但你可以使用括号表示法解决这个问题,如下所示:
var i = 1;
while (data['Pivot' + i]) {
console.log(data['Pivot' + i]);
i++;
}
答案 2 :(得分:0)
如果Pivot
键保持相同的方式,那么您可以尝试使用此代码来查找获取Pivot值
var jsonData = [{
"Columnd58eae9aee6a43b9836e59254e914f43": 1,
"Metric": "7e70661f-e266-4745-9b1b-c5c5691e9746",
"MetricDisplay": "Active Users",
"Pivot1": 40.00000,
"Pivot2": 38.00000,
"Pivot3": 18.00000,
"Total": 96.00000,
"Average": 32.00000,
"IsTotal": 0,
"MetricOrder": 1
}];
var arr = $.map(jsonData[0], function(value, index){
if(/^(\Pivot)[0-9]+$/.test(index)){
return value;
}
});
console.log(arr);
//[40, 38, 18]
答案 3 :(得分:0)
您提供的JSON格式不是有效格式。
我做了一些修改。
{
"item": {
"Columnd58eae9aee6a43b9836e59254e914f43": "1",
"Metric": "7e70661f-e266-4745-9b1b-c5c5691e9746",
"MetricDisplay": "Active Users",
"pivot": {
"Pivot1": "40",
"Pivot2": "38",
"Pivot3": "18"
},
"Total": "96",
"Average": "32",
"IsTotal": "0",
"MetricOrder": "1"
}
};
Object.keys(x.item.pivot)。长度
这将给出所需的长度!!