我将表单中的信息串行收集到数组中,如下所示:
list = {"name" : "John", "email" : "name@domain.com", "country" : "Canada", "color" : "blue"};
identifier = "first_round";
list = {"name" : "Harry", "email" : "othername@domain.com", "country" : "Germany"};
identifier = "second_round";
我想将它们组合成某些东西(我可能需要括号的括号),如:
list_all = {
"first_round" :
{"name" : "John", "email" : "name@domain.com", "country" : "Canada", "color" : "blue"} ,
"second_round" :
{"name" : "Harry", "email" : "othername@domain.com", "country" : "Germany"}
};
所以我可以访问它们:
alert(list_all.first_round.name) -> John
(注意:两个列表数组中的名称 - 值(“名称”,“电子邮件”,“颜色”)不完全相同,每个列表数组中的项目数量有限但在提前;我需要每轮只向前一个结构连续添加一个数组,并且可能有任意数量的轮数,即“第三轮”:{...},“第四轮”:{...}和等等。)
最终,我希望JSON能够很好地解析它。
我使用jquery库,如果有帮助的话。
答案 0 :(得分:1)
创建list_all
作为新对象,如下所示:
var list_all = {};
list_all[identifier_1] = list_1;
list_all[identifier_2] = list_2;
// ...
答案 1 :(得分:0)
JSON使用对象文字表示法。表格:
var person = {
"name": "Douglas Adams"
"age": 42
};
完全相同(对于所有意图和目的):
var person = new Object();
person.name = "Douglas Adams";
person.age = 42;
这对你有帮助吗?
您也可以使用
person["age"]
这与
相同person.age
并迭代命名属性:
//prints the person.propertyName for all propertyName in person
for (var propertyName in person) {
alert(person[propertyName]);
}
您可以使用jQuery将数据作为字符串传输,使用它与服务器交互并将其转换为对象。例如:
var jsonString = "{'name': 'Douglas Adams', 'age': 42}";
jQuery.parseJson(jsonString); //returns this as an object
在jQuery API文档中搜索JSON:http://api.jquery.com/