Форматирование JSON (отправка JSON через jQuery AJAX сообщение на сервер Java/Wicket)
Я использую jQuery для размещения JSON на Java-сервере, но я думаю, что мой JSON должен ошибаться. Вот пример моих данных и способ их отправки:
var lookup = {
'name': name,
'description': description,
'items': [{
'name': itemName,
'value': itemValue
}]
}
$.ajax({
type: 'post',
data: lookup,
dataType: 'json'
});
Я использую Wicket AbstractAjaxBehavior для получения данных и хочу получить одну строку JSON, которую я могу проанализировать. Когда я получаю карту переданных параметров, набор ключей выглядит следующим образом:
items[0][name],
description,
name,
items[0][value],
Очевидно, что я могу легко получить значения для имени и описания, но ключ для моего массива элементов испорчен. Я уверен, что это что-то простое, но я, кажется, продолжаю работать над решением. Какие-либо предложения? Спасибо!
Ответы
Ответ 1
Вам нужно использовать JSON.stringify:
$.ajax({
type: 'post',
data: JSON.stringify(lookup),
contentType: 'application/json',
dataType: 'json'
});
Вы также должны указать 'application/json' как contentType. По умолчанию jQuery будет сериализовать объекты с помощью приложения /x -www-form-urlencoded (даже если contentType - application/json '). Поэтому вы должны сделать это вручную.
EDIT: Ключ для 'post' должен быть типом, а не методом.