JSON格式(通过jQuery AJAX post向Java/Wicket server发送JSON)

2022-09-03 08:52:19

我正在使用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],

显然,我可以很容易地获得名称和描述的值,但是我的项目数组的键被搞砸了。我确信这很简单,但我似乎一直在围绕解决方案运行。有什么建议吗?谢谢!


答案 1

你必须使用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')。因此,您必须手动执行此操作。

编辑:“帖子”的键应该是类型,而不是方法。


答案 2

推荐