var categoryJSON = [];
for(var i = 0; i < records.length; i++){
record = Ext.encode(records[i].get('categoryName'));
categoryJSON.push(record);
}
子啊服务器得到的是["xx","xx"],这哪是json格式啊

解决方案 »

  1.   

    这不是json是什么?
    字符串["xx","xx"]在json中在表示一个数组,建议先弄明白什么是json,不要闹这种笑话
      

  2.   

    我们前端是这样把数据传输到服务器的:var modifyRecords = Store.getModifiedRecords();
    var recordsLength = modifyRecords.length;
    var dataArr = [];
    for(var i = 0; i < recordsLength ; i++){
    dataArr[i] = modifyRecords[i].data;
    }
    var jsonData = Ext.encode(dataArr);下一个回复再回答你的问题。
      

  3.   

    json格式类似这样{data:[{key1:value1,key2:value2},{key1:value11,key2:value22}]}var categoryJSON = [];
    for(var i = 0; i < records.length; i++){
        record = Ext.encode(records[i].get('categoryName'));//这里的record得到的只是一个字符串
        categoryJSON.push(record);//categoryJSON就变成字符串数组了。
    }要是您有耐心,可以将record变成一个对象,将您想要传给后台的字段都放进里面
    recordObj = {
      categoryName:value1,
      categoryId:value2,
    }然后将recordObj放进一个数据里
    recordObjArr = [];
    recordObjArr.push(recordObj);然后将recordObjArr放进传给后台的字段categoryJSON(这个必须是对象)
    var categoryJSON = {};
    categoryJSON.data = recordObjArr这样后台接收数据就是json字符串了
      

  4.   

    json不是这样的? {key:value}
      

  5.   

    {'key':'value'}这是对象的写法
    ['','']这是数组的写法
      

  6.   

    json可以有多种嵌套,格式上面说的很明白了...