二十五岁时我们都一样愚蠢、多愁善感,喜欢故弄玄虚,可如果不那样的话,五十岁时也就不会如此明智。
标题: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