JavaScript json 转换为字符串



JSON的一个常见用途是交换数据到/从一个Web服务器.

将数据发送到web服务器时,数据必须是字符串.

使用JSON.stringify()将一个JavaScript对象转换为字符串。


转换JavaScript对象

假设,我们有这个一个JavaScript对象:

var obj = { "name":"John", "age":30, "city":"New York"};

使用JavaScript函数 JSON.stringify()转换为字符串.

var myJSON = JSON.stringify(obj);

结果将是JSON表示的字符串.

myJSON 在是一个字符串,并准备发送到服务器:

var obj = { "name":"John", "age":30, "city":"New York"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

让我试试


转换JavaScript数组

JavaScript数组转换为字符串:

假设我们有如下的JavaScript数组:

var arr = [ "John", "Peter", "Sally", "Jane" ];

使用JavaScript JSON.stringify()函数,将其转换为字符串.

var myJSON = JSON.stringify(arr);

使用JavaScript函数JSON.stringify()转换为字符串.

var myJSON = JSON.stringify(arr);

结果将是JSON表示的字符串.

myJSON 现在是一个字符串,并准备发送到服务器:

var arr = [ "John", "Peter", "Sally", "Jane" ];
var myJSON = JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;

让我试试


异常

转换日期

在JSON中, 不允许日期对象. JSON.stringify() 函数将任何日期转换为字符串。

var obj = { "name":"John", "today":new Date(), "city":"New York"};
var myJSON = JSON.stringify(obj);

document.getElementById("demo").innerHTML = myJSON;

让我试试

当接收时,你可以将字符串转换为日期对象。


转换函数

在JSON里, 函数不允许作为对象值.

JSON.stringify() 函数将从JavaScript对象删除所有函数, 包括key和value:

var obj = { "name":"John", "age":function () {return 30;}, "city":"New York"};
var myJSON = JSON.stringify(obj);

document.getElementById("demo").innerHTML = myJSON;

让我试试

如果你在运行JSON.stringify()函数,之前转换,这可能被忽略。

var obj = { "name":"John", "age":function () {return 30;}, "city":"New York"};
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);

document.getElementById("demo").innerHTML = myJSON;

让我试试

你应该避免在JSON使用函数,函数将失去他们的范围,你将不得不使用evel()将它们转换回函数。


浏览器支持

JSON.stringify() 功能包括所有主要的浏览器和最新的ECMAScript(JavaScript)标准:

Web浏览器支持
  • Firefox 3.5
  • Internet Explorer 8
  • Chrome
  • Opera 10
  • Safari 4