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