Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我需要将一个对象序列化为JSON。I';我正在使用jQuery。是否有一个“问题”;标准;如何做到这一点?_Javascript_Jquery_Json_Ajax - Fatal编程技术网

Javascript 我需要将一个对象序列化为JSON。I';我正在使用jQuery。是否有一个“问题”;标准;如何做到这一点?

Javascript 我需要将一个对象序列化为JSON。I';我正在使用jQuery。是否有一个“问题”;标准;如何做到这一点?,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我需要将一个对象序列化为JSON。我正在使用jQuery。有没有一个“标准”的方法来做到这一点 我的具体情况:我有一个数组定义如下: var countries = new Array(); countries[0] = 'ga'; countries[1] = 'cd'; ... 我需要将其转换为字符串以传递给$.ajax(),如下所示: $.ajax({ type: "POST", url: "Concessions.aspx/GetConcessions", da

我需要将一个对象序列化为JSON。我正在使用jQuery。有没有一个“标准”的方法来做到这一点

我的具体情况:我有一个数组定义如下:

var countries = new Array();
countries[0] = 'ga';
countries[1] = 'cd';
...
我需要将其转换为字符串以传递给$.ajax(),如下所示:

$.ajax({
    type: "POST",
    url: "Concessions.aspx/GetConcessions",
    data: "{'countries':['ga','cd']}",
...
您可以使用JSON.stringify(国家)


请注意,您需要指定
contentType
;否则,将假定URI编码。

您可以使用
JSON.stringify()
将任何对象转换为JSON字符串:

var countries = new Array();
countries[0] = 'ga';
countries[1] = 'cd';
var json = JSON.stringify({ countries: countries}); // = '{"countries":["ga","cd"]}'

// or more simply:
var countries = [ 'ga', 'cd' ];
var json = JSON.stringify({ countries: countries}); // = '{"countries":["ga","cd"]}'
但是,您应该注意,更好的做法是为
$的
数据
属性提供一个对象,因为jQuery随后将为您创建JSON,同时转义任何无效字符并执行任何必需的编码。试试这个:

$.ajax({
    type: "POST",
    url: "Concessions.aspx/GetConcessions",
    data: {
        'countries': countries
    }
});
您可以使用JSON.parse()将对象转换为JSON

像这样 countries=JSON.parse(国家)


对象转换为json并存储在国家变量中

您的API是否期望
应用程序/json
?如果没有,请使用。询问者希望答案是特定于jQuery的东西的赌注是什么?此解决方案不会将键名
{'countries':
附加到结果中。亲爱的..我明白了
$.ajax({
    type: "POST",
    url: "Concessions.aspx/GetConcessions",
    data: {
        'countries': countries
    }
});