Formatowanie JSON (wysyłanie JSON przez jQuery AJAX post na serwer Java/Wicket)

Używam jQuery do wysyłania JSON na serwer Java, ale myślę, że mój JSON musi się mylić. Oto przykład moich danych i jak je wysyłam:

var lookup = {
    'name': name,
    'description': description,
    'items': [{
        'name': itemName,
        'value': itemValue
    }]
}

$.ajax({
    type: 'post',
    data: lookup,
    dataType: 'json'
});

Używam AbstractAjaxBehavior Wicketa do odbioru danych i chciałbym otrzymać pojedynczy łańcuch JSON, który mogę przeanalizować. Kiedy dostaję mapę z przekazanymi parametrami, keyset wygląda tak:

items[0][name],
description,
name,
items[0][value],

Oczywiście mogę łatwo uzyskać wartości dla nazwy i opisu, ale klucz dla mojej tablicy elementów jest pomieszany. Jestem pewien, że to coś prostego, ale wydaje mi się, że ciągle szukam rozwiązania. Jakieś sugestie? Dzięki!

Author: Jared, 2010-07-02

1 answers

Musisz użyć JSON.stringify:

$.ajax({
    type: 'post',
    data: JSON.stringify(lookup),
    contentType: 'application/json',
    dataType: 'json'
});

Należy również podać 'application / json' jako contentType. Domyślnie jQuery będzie serializował obiekty z application/x-www-form-urlencoded (nawet jeśli contentType to application/json'). Więc musisz to zrobić ręcznie.

EDIT: kluczem do 'post' powinien być Typ, A Nie metoda.

 45
Author: Matthew Flaschen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-07 00:46:47