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],
名前と説明の値は簡単に取得できますが、アイテムの配列のキーがめちゃくちゃになっています。簡単なことだと思いますが、解決策を実行し続けているようです。助言がありますか?ありがとう!
JSON.stringifyを使用する必要があります。
$.ajax({
type: 'post',
data: JSON.stringify(lookup),
contentType: 'application/json',
dataType: 'json'
});
また、contentTypeとして「application/json」を指定する必要があります。デフォルトでは、jQueryはapplication/x-www-form-urlencodedを使用してオブジェクトをシリアル化します(contentTypeがapplication/json 'の場合でも)。したがって、手動で行う必要があります。
編集:「投稿」のキーは、メソッドではなくタイプである必要があります。