簡體   English   中英

我需要將一個對象序列化為JSON。 我正在使用jQuery。 有沒有“標准”的方式來做到這一點?

[英]I need to serialize an object to JSON. I'm using jQuery. Is there a “standard” way to do this?

我需要將一個對象序列化為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(countries);

var c = {
   countries: countries
}
$.ajax({
    type: "POST",
    url: "Concessions.aspx/GetConcessions",
    data: JSON.stringify(c),
    contentType: "application/json"
...

注意,您將要指定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"]}'

但是,您應該注意,最好為$.ajaxdata屬性提供一個對象,因為jQuery隨后將為您創建JSON,同時轉義任何無效字符並進行任何必需的編碼。 嘗試這個:

$.ajax({
    type: "POST",
    url: "Concessions.aspx/GetConcessions",
    data: {
        'countries': countries
    }
});

您可以使用JSON.parse()將對象轉換為json

像這樣的國家= JSON.parse(countries);

對象在json中轉換並存儲在國家變量中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM