JSON格式化(通过jQuery AJAX发送JSON发布到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字符串。 当我得到传递参数的Map时,键集如下所示:

 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’)。 所以你必须手动完成。

编辑:’post’的键应该是type,而不是method。