我正在使用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],
显然,我可以轻松获取名称和描述的值,但是我的项目数组的关键字搞砸了。我确信它很简单,但我似乎一直在解决这个问题。有什么建议?谢谢!
答案 0 :(得分:46)
您必须使用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。