Javascript 使用Ajax/jquery发布错误的json负载

Javascript 使用Ajax/jquery发布错误的json负载,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我试着做一些简单的事情,但我显然遗漏了一些东西。我想使用json将表单中的数据发布到web服务中。简单对吧 我有我的HTML <div id="addDiv"> <form id="addItemForm"> <fieldset> <label for="title">Title</label> <input id="title" class="tx

我试着做一些简单的事情,但我显然遗漏了一些东西。我想使用
json
将表单中的数据发布到web服务中。简单对吧

我有我的HTML

    <div id="addDiv">
    <form id="addItemForm">
        <fieldset>
            <label for="title">Title</label> 
            <input id="title" class="txt" type="text" name="title"/></BR>

            <label for="url">URL</label> 
            <input id="url" class="txt" type="text" name="url"/></BR>

            <label for="author">Author</label> 
            <input id="author" class="txt" type="text" name="author"/>

        </fieldset>
    </form>
</div>
有效负载输出(JSONdata):

我的Ajax代码以防万一:

    $.ajax({
    type: "POST",
    url: serviceUrl,
    dataType: 'json',
    data: JSONdata,
    contentType : 'application/json',
            ............
所以我看到的问题是
json
字符串不是一个有效的字符串,比如
[{“title”:“tgtg”,“url”:“5rfrf”…},{…}]

因此,我的服务失败。
我试过使用REST测试仪,服务没有问题,问题是当我尝试通过
jquery发布时。

我也尝试过使用
serializeArray()
,但我得到的另一个负载也不正确:

[{"name":"title","value":"tgtg"},{"name":"url","value":"5rfrf"},...]
换句话说,我找不到一种方法来创建一个合适的
json
字符串来通过post发送

提前感谢

您不想使用,但是。如果在对象中需要它,则仍然可以使对象的
名称
-
成对属性:

var res = {},
    arr = $('#addItemForm').serializeArray();
for (var i=0; i<arr.length; i++)
    res[arr[i].name] = arr[i].value;
var res={},
arr=$('#addItemForm').serializeArray();

对于(var i=0;ithanks man,这正如我所期望的那样工作,我认为有一种更简单的方法。就像一个不需要循环的命令。但是无论如何,谢谢!!
[{"name":"title","value":"tgtg"},{"name":"url","value":"5rfrf"},...]
var res = {},
    arr = $('#addItemForm').serializeArray();
for (var i=0; i<arr.length; i++)
    res[arr[i].name] = arr[i].value;