我有以下javascript,我需要动态。
data.addRows(2);
data.setValue(0, 0, 'name goes here');
data.setValue(0, 1, value 1 goes here);
data.setValue(0, 2, value 2 goes here);
data.setValue(1, 0, 'name goes here');
data.setValue(1, 1, value 1 goes here);
data.setValue(1, 2, value 2 goes here);
我想循环是最好的方法:
我想出了以下json结构:
[
{"User1":{"value1": 50.00,"value2": "100"}},
{"User2":{"value1": 10.00,"value2": "20"}},
{"User3":{"value1": 10.00,"value2": "20"}},
{"User4":{"value1": 10.00,"value2": "20"}},
{"User5":{"value1": 20.00,"value2": "40"}}
]
我认为这种结构需要改进。有人可以建议一个更好的结构,让我很容易提取我想从中提取的数据吗?
答案 0 :(得分:4)
var dataset = [
{uid: 'user1', value1: 50.00, value2: 100},
{uid: 'user2', value1: 10.00, value2: 20},
];
通过这种方式,你可以data.length
计算出你有多少值,并且可以更容易地循环。例如:
for(i = 0; i < dataset.length; i++) {
console.log(data[i].uid);
}
使用您的示例:
data.addRows(2);
var l = dataset.length, i, x = 0, y = 0;
for(i = 0; i < l; i++) {
data.setValue(y, x, dataset[i].uid); x++;
data.setValue(y, x, dataset[i].value1); x++;
data.setValue(y, x, dataset[i].value2); x=0;
y++;
}
答案 1 :(得分:2)
我不认为你可以让它变得更简单,除非有一些特殊的数据可以让重复的部分以某种方式分离出来。
答案 2 :(得分:1)
尝试类似:
{"users": [
{"value1": 50, "value2": 100},
{"value1": 10, "value2": 20},
{"value1": 10, "value2": 20},
{"value1": 10, "value2": 20},
{"value1": 20, "value2": 40}
]}
或者,如果您想让您的用户拥有ID:
{"users": {
"userId1": {"value1": 50, "value2": 100},
"userId2": {"value1": 10, "value2": 20},
"userId3": {"value1": 10, "value2": 20},
"userId4": {"value1": 10, "value2": 20},
"userId5": {"value1": 20, "value2": 40}
}}
请记住,JavaScript中的所有数字都是浮点数。
答案 3 :(得分:0)
我认为你可以尝试这样的东西,这个想法来自ColdFusion SerializeJson()
我认为您的数据就像一张表
user value1 value2
------------------------------------
user1 50 100
user2 10 20
...
json结构是
{"COLUMNS":["USER","VALUE1","VALUE2"],"DATA":[["user1",50.0,100.0],["user2",10.0,20.0]]}
更清晰的阅读
{
"COLUMNS":
[
"USER",
"VALUE1",
"VALUE2"
],
"DATA":
[
[
"user1",
50.0,
100.0
],
[
"user2",
10.0,
20.0
]
]
}
有了这个结构,我们知道每个varname.DATA [index] [0]都是指USER
答案 4 :(得分:0)
现在你的json值应该像这样编码
{"id":8,"heading":"heading goes here","content":"<p>content goes here<\/p>"}
对不起你......