JQuery имеет созданным в поддержке JSON?

Во-первых, обратите внимание, что, так как Java собран "мусор", редко должно сделать что-либо об объектном разрушении. Во-первых, потому что у Вас обычно нет управляемых ресурсов к свободному, и во-вторых потому что Вы не можете предсказать, когда или произойдет ли это, таким образом, будет неуместно для вещей, что необходимо произойти, "как только никто не использует мой объект больше".

Вы можете быть уведомлены после того, как объект был уничтожен с помощью java.lang.ref. PhantomReference (на самом деле, говоря это был уничтожен, может быть немного неточным, но если фантомная ссылка на него ставится в очередь тогда, это больше не восстанавливаемо, который обычно составляет то же самое). Общее использование:

  • Выделяют ресурс (ресурсы) в Вашем классе, который должен быть разрушен в другой объект помощника (обратите внимание, что, если все Вы делаете, закрывает соединение, которое является общим падежом, Вы не должны писать новый класс: соединение, которое будет закрыто, было бы "объектом помощника" в этом случае).
  • при создании основного объекта создайте также PhantomReference к нему. Или имейте, это относится к новому объекту помощника или настроило карту от объектов PhantomReference до их соответствующих объектов помощника.
  • После того, как основной объект собран, PhantomReference ставится в очередь (или скорее это может быть поставлено в очередь - как финализаторы нет никакой гарантии, которой это когда-либо будет, например, если VM выйдет тогда, то это не будет ожидать). Удостоверьтесь, что Вы обрабатываете его очередь (или в специальном потоке или время от времени). Из-за твердой ссылки на объект помощника еще не был собран объект помощника. Также - независимо от того, что очистка, которую Вы любите на объекте помощника, затем отбрасывает PhantomReference, и помощник будет в конечном счете забран также.

существует, также завершают (), который похож на деструктор, но не ведет себя как один. Это обычно - не хороший вариант.

9
задан scunliffe 11 August 2009 в 14:32
поделиться

4 ответа

Вы также можете использовать $ .ajax и установить для параметра dataType значение «json»:

 $.ajax({
      url: "script.php",
      global: false,
      type: "POST",
      data: ({id : this.getAttribute('id')}),
      dataType: "json",
      success: function(json){
         alert(json.foo);
      }
   }
);

Кроме того, $. Get и ] $. post имеет необязательный четвертый параметр, который позволяет вам установить тип данных ответа, например:

$.postJSON = function(url, data, callback) {
    $.post(url, data, callback, "json");
};

$.getJSON = function(url, data, callback) {
    $.get(url, data, callback, "json");
};
9
ответ дан 4 December 2019 в 10:33
поделиться

Да, именно так. Вы можете сделать что-то вроде:

$.getJSON('/foo/bar/json-returning-script.php', function(data) {
    // data is the JSON object returned from the script.
});
9
ответ дан 4 December 2019 в 10:33
поделиться

Поддержка JSON в jQuery упрощена, что бросает тень на ветер. Я использовал $. Ajax , а затем проанализировал текст ответа с помощью библиотеки javascript json.org . Он выполняет лексический синтаксический анализ, чтобы избежать использования eval () и возможного выполнения произвольного кода.

1
ответ дан 4 December 2019 в 10:33
поделиться

jQuery поддерживает декодирование JSON, но не поддерживает кодирование прямо из коробки. Для кодирования вам понадобится плагин, отдельная библиотека или браузер, который изначально поддерживает команды JSON.stringify и JSON.parse.

1
ответ дан 4 December 2019 в 10:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: