如何在ExtJS中为AJAX调用创建JSON?

时间:2012-03-13 13:31:54

标签: javascript codeigniter extjs extjs3 extjs-mvc

我想创建此参数文件,以便将其发送到我的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"
      }
   ]
};

我对答案中的内容感到困惑。我不知道如何动态创建它。

3 个答案:

答案 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()方法。