JQuery .serializeArray()如何在Json对象中获取访问数据

时间:2011-01-20 00:02:37

标签: jquery json

我正在使用jquery .serializeArray()来获取<input>中的所有<form>。 我将.serializeArray()中出现的Json对象放入jquery .data()

如何从Json对象中找到我想要的数据?

Jquery getJson()需要一个url,但我已经拥有了Json对象。

2 个答案:

答案 0 :(得分:2)

serializeArray()(docs)方法不会创建JSON数据。它创建了一个对象数组,每个对象都有namevalue属性。

如何获取数据取决于您的需求。要直接访问特定项目,您可以像访问任何其他数组和对象一样访问它。

myData[1].value;

这将获得数组中第二项的value

如果您需要迭代它们,可以使用jQuery.each()(docs)

$.each( myData, function() {
    var name = this.name;  // the name property in the current iteration
    var value = this.value;  // the value property in the current iteration

    console.log( name, value );
});

答案 1 :(得分:0)

jQuery.serializeArray()返回一个数组

[{
   name: "a",
   value: "1"
 },{
   name: "b",
   value: "2"
 },{
   name: "c",
   value: "3"
 },{
   name: "d",
   value: "4"
 },{
   name: "e",
   value: "5"
 }
]

此代码依赖于Array.prototype.reduce

var formArray = $('#formid).serializeArray();
formArray.reduce(function(acc, cur, i) {
  acc[cur.name] = cur.value;
  return acc;
}, {});

产生这个对象

{
    a: "1",
    b: "2",
    c: "3",
    d: "4",
    e: "5"
}