先看如下例子:
大家可以根据生成的json格式的数据,去看代码,应该可以看懂。如果有多层嵌套,则组建javascript的数组的嵌套一下就行了
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的数组的嵌套一下就行了