Extjs 使用Ext.JSON.encode封装json格式的数据

先看如下例子:
                        var jsonArray = new Array();
                        for(var i = 0 ; i < items.length ; i++ ){
                            var values =  items[i].getForm().getValues();
                            if(values.option != ""){
                                values.votenum == "" ? 0 : values.votenum;
                                var object = new Object();
                                object['oid'] =  values.oid;
                                object['pid'] =  values.pid;
                                object['option'] =  values.option;
                                object['votenum'] =  values.votenum;
                                jsonArray.push(object);
                            }
                        }
                        var json = Ext.JSON.encode(jsonArray);
在看Ext.JSON.encode在API中的解释:
encode( Object o ) : String

编码对象、 数组或其他值。

如果环境中的原生JSON编码没有被使用 (Ext.USE_NATIVE_JSON 没有设置,或环境不支持), 那么将使用ExtJS的编码。这里允许开发人员在需要序列化的类中添加 toJSON 方法, 返回有效的 JSON 表示形式的对象。
Parameters

    o : Object

    要进行编码的变量

Returns

    String

    JSON 字符串

从API中可以看出  encode的参数是一个Object对象。所以 我们要构造一个Object对象(也可以说是Array对象)的数据集合,然后使用Ext.JSON.encode将该对象变成一个JSON格式的字符串数据


上述例子中生成的JSON格式的数据如下:

[
    {
        "oid": "1",
        "pid": "1",
        "option": "M",
        "votenum": "2"
    },
    {
        "oid": "3",
        "pid": "1",
        "option": "RR HHHH",
        "votenum": "0"
    },
    {
        "oid": "1473412",
        "pid": "1",
        "option": "G大胖子“??\"GG",
        "votenum": "0"
    },
    {
        "oid": "1473419",
        "pid": "1",
        "option": "GGHH:::'\"\"\"\"",
        "votenum": "0"
    },
    {
        "oid": "1473420",
        "pid": "1",
        "option": "RRRHHHH",
        "votenum": "0"
    }
]

大家可以根据生成的json格式的数据,去看代码,应该可以看懂。如果有多层嵌套,则组建javascript的数组的嵌套一下就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值