我想创建此参数文件,以便将其发送到我的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"
}
]
};
我对答案中的内容感到困惑。我不知道如何动态创建它。
答案 0 :(得分:4)
用于将Javascript对象序列化为JSON字符串,您可以使用
JSON.stringify(Object);
在大多数最新的浏览器中都可用,否则你可以使用ExtJS内置方法
Ext.encode(Object);
对于反序列化JSON字符串,您可以使用JSON.parse(JSONString)
或Ext.decode(JSONString)
答案 1 :(得分:1)
一种简单的方法是将数据创建为javascript对象,然后使用Json“stringifier”将其转换为json字符串,然后将其传递给您的服务器。
之前在Serializing an object to JSON
回答了同样的问题如果你使用jquery(我强烈推荐它作为一个非常有用的工具,适用于所有认真的javascript程序员),有一个很好的插件,我用它在Ajax调用中来回传递json。见http://code.google.com/p/jquery-json/
答案 2 :(得分:0)
创建一个包含数组和一些对象的对象,然后查看Ext.data.proxy.Server.encodeFilters()
方法。