JSON.stringify()

Penggunaan biasa JSON adalah untuk pertukangan data dengan pelayan web.

Dalam menghantar data kepada pelayan web, data mesti adalah string.

Melalui JSON.stringify() Tukar objek JavaScript kepada string.

Stringify objek JavaScript

Gimana jika kita ada objek ini di JavaScript:

var obj = { name:"Bill Gates", age:62, city:"Seattle"};

Guna fungsi JavaScript JSON.stringify() Tukar ia kepada string.

var myJSON = JSON.stringify(obj);

Hasilnya akan adalah string yang patut diikuti dengan penanda JSON.

myJSON kini adalah string dan siap untuk dihantar kepada pelayan:

实例

var obj = { name:"Bill Gates", age:62, city:"Seattle"};
var myJSON =  JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

亲自试一试

Anda akan belajar di bab berikutnya bagaimana untuk menghantar JSON kepada pelayan.

Stringify array JavaScript

Juga boleh distringify array JavaScript:

Gimana jika kita ada array ini di JavaScript:

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];

Guna fungsi JavaScript JSON.stringify() Tukar ia kepada string.

var myJSON = JSON.stringify(arr);

Hasilnya akan adalah string yang patut diikuti dengan penanda JSON.

myJSON kini adalah string dan siap untuk dihantar kepada pelayan:

实例

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];
var myJSON =  JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;

亲自试一试

Anda akan belajar di bab berikutnya bagaimana untuk menghantar JSON kepada pelayan.

Pengecualian

Pengecatan tarikh

Dalam JSON, objek tarikh adalah tidak diizinkan.JSON.stringify() Fungsi akan mengubah mana-mana tarikh kepada string.

实例

var obj =  { "name":"Bill Gates", "today":new Date(), "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

亲自试一试

Anda boleh mengubah string kepada objek tarikh di titik penerima.

函数字符串化

在 JSON 中,不允许函数作为对象值。

JSON.stringify() 函数将从 JavaScript 对象删除任何函数,包括键和值:

实例

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

亲自试一试

如果您在运行 JSON.stringify() 函数前已将函数转换为字符串,这个环节可以省略。

实例

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

亲自试一试

您应该避免在 JSON 中使用函数,函数会失去其作用域,而且您还需要使用 eval() 将它们转换回函数。

浏览器支持

所有主流浏览器和最新的 ECMAScript (JavaScript) 标准都包含 JSON.stringify() 函数:

下表中的数字指定了完全支持 JSON.stringify() 函数的首个浏览器版本:

Yes 8.0 3.5 4.0 10.0