JSON.stringify与示例不同

Ser*_*rov 1 html javascript json

我使用datatables.net jQuery插件来处理ajax表.我想发送一个带有JSON数据的POST请求.我使用JSON.stringify将我的数据转换为JSON.它产生如下结果:

[
  {"name":"sEcho","value":1},
  {"name":"iColumns","value":9},
  {"name":"sColumns","value":""},
  {"name":"iDisplayStart","value":0}
...]
Run Code Online (Sandbox Code Playgroud)

虽然我希望它是这样的:

{"sEcho":1, "iColumns":9, "sColumns":"", "iDisplayStart":0} ...
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

Jui*_*ter 6

您可以在执行之前迭代数据并构建所需的结构JSON.stringify:

var data = [{"name":"sEcho","value":1},{"name":"iColumns","value":9},{"name":"sColumns","value":""},{"name":"iDisplayStart","value":0}];

var options = {};
for (var i=0; i < data.length; i++){
  var key = data[i].name;
  var val = data[i].value;
  options[key] = val;
}

var jsonString = JSON.stringify(options);
Run Code Online (Sandbox Code Playgroud)

您还可以使用jQuery each方法保存几行并使其看起来更好一些:

var options = {};
$.each(data, function(){
  options[this.name] = this.value;
});
Run Code Online (Sandbox Code Playgroud)