Форматирование 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' должен быть типом, а не методом.