如何删除json元素


How to remove json element?

我使用dataTables插件为我的表,它有一个json数据从数据库,如:

{"sEcho":0,
"iTotalRecords":1,
"iTotalDisplayRecords":1,
"aaData":[["contentFieldA","contentFieldB","contentFieldC"],
          ["contentFieldA","contentFieldB","contentFieldC"]],
"sColumns":"fieldA,fieldB,fieldC"}

出于某种原因,我需要删除第一个索引上的"aaData"answers"sColumns"值(因此"contentFieldA"answers"fieldA"应该被删除)。json数据将是:

{"sEcho":0,
 "iTotalRecords":1,
 "iTotalDisplayRecords":1,
 "aaData":[["contentFieldB","contentFieldC"],
           ["contentFieldB","contentFieldC"]],
 "sColumns":"fieldB,fieldC"}
有谁能帮我一下吗?由于

如果你有:

var test = {"sEcho":0,
"iTotalRecords":1,
"iTotalDisplayRecords":1,
"aaData":[["contentFieldA","contentFieldB","contentFieldC"],
          ["contentFieldA","contentFieldB","contentFieldC"]],
"sColumns":"fieldA,fieldB,fieldC"};

aaData是一个数组的数组,所以像这样删除每个子数组的第一个索引:

for (var i=0;i<test['aaData'].length;i++) {
    test['aaData'][i].splice(0,1);
}

sColumns中删除第一个索引有点困难,因为它是一个字符串:

test['sColumns']=test['sColumns'].split(',').splice(1,2).join();

注意splice(1,2)是硬编码的,如果你有4列,它应该是splice(1,3), 5列splice(1,4),等等。

运行这两个清理将得到期望的结果。

由于是JSON格式,您可以使用正则表达式并删除您想要的内容:

PHP: http://au1.php.net/preg_replaceJS: http://www.w3schools.com/jsref/jsref_replace.asp