Как создать JSON в ExtJS для вызова AJAX? - PullRequest
1 голос
/ 13 марта 2012

Я хочу создать этот файл параметров, чтобы я мог отправить его на мой веб-сервис.

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 ]

4 голосов
/ 22 марта 2012

для сериализации объектов Javascript в строки JSON, либо вы можете использовать

JSON.stringify(Object);

, который доступен в большинстве последних браузеров, иначе вы можете использовать встроенный метод ExtJS

Ext.encode(Object);

и для десериализации строки JSON вы можете использовать JSON.parse(JSONString) или Ext.decode(JSONString)

1 голос
/ 13 марта 2012

Простой способ сделать это - создать ваши данные в виде объекта javascript, а затем использовать «stringifier» Json, чтобы превратить их в строку json, которая затем может быть передана на ваш сервер.

Эторанее на ту же проблему было решено Сериализация объекта в JSON

Если вы используете jquery (и я настоятельно рекомендую его как очень полезный инструмент для всех серьезных программистов javascript), есть хороший плагинчто я использую для передачи JSON туда и обратно в вызовах Ajax.Смотри http://code.google.com/p/jquery-json/

0 голосов
/ 13 марта 2012

Создайте объект с массивом и некоторыми объектами внутри, а затем посмотрите на метод Ext.data.proxy.Server.encodeFilters().

...