如何在ExtJS中为AJAX调用创建JSON?
我想创建这个参数文件,以便我可以将它发送到我的Web服务。
var parms = {
"quiz_id":"120",
"owner_id":"1",
"solver_id":"1",
"answers":
[
{
"answer_text" : "YES",
"question_id" : "1"
},
{
"answer_text" : "NO",
"question_id" : "2"
},
{
"answer_text" : "YES",
"question_id" : "3"
},
{
"answer_text" : "YES",
"question_id" : "4"
},
{
"answer_text" : "YES",
"question_id" : "5"
}
]
};
我被困在答案内的内容。 我不知道如何动态创建它。
用于将Javascript对象序列化为JSON字符串,您可以使用
JSON.stringify(Object);
这在大多数最新的浏览器中都可用,否则您可以使用ExtJS内置方法
Ext.encode(Object);
并且对于反序列化JSON字符串,您可以使用JSON.parse(JSONString)
或Ext.decode(JSONString)
一个简单的方法是将数据创建为javascript对象,然后使用Json“stringifier”将其转换为json字符串,然后将其传递到您的服务器。
先前在将对象序列化为JSON时回答了同样的问题
如果你使用jQuery(我强烈建议它作为所有严肃的javascript程序员的一个非常有用的工具),我使用了一个很好的插件来在Ajax调用中来回传递json。 请参阅http://code.google.com/p/jquery-json/
创建一个包含数组和内部对象的对象,然后查看Ext.data.proxy.Server.encodeFilters()
方法。