我正在使用 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”的键应该是类型,而不是方法。
关于java - JSON 格式化(通过 jQuery AJAX 发送 JSON 到 Java/Wicket 服务器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3168401/