初學者經常有一個困惑,就是分不清普通字符串、JSON字符串和JSON對象。其實這3者是非常容易區分的。
字符串嘛,大家都知道是使用單引號或雙引號括起來的一串字符。
舉例:
var str = " 學習網json教程";
JSON對象我們在“JSON對象結構”這一節已經詳細為大家講解了。JSON對象,指的是符合JSON格式要求的JavaScript對象。
舉例:
var jsonObj = {"name":"helicopter","age":23,"gender":"男"};
JSON字符串,指的是符合“JSON格式”的字符串。
JSON字符串要求兩點:
(1)必須是字符串,也就是要用單引號或雙引號括起來;
(2)必須符合“JSON”格式。
舉例:
var jsonStr = '{"name": "helicopter", "age":23, "gender": "男"}';
JSON字符串說白了就是在JSON對象外面加一對單引號。
大家好好對比一下,就知道普通字符串、JSON對象和JSON字符串的區別了。
在JSON中,可以使用JSON.stringify()方法將JSON對象轉換為JSON字符串。
語法:
JSON.stringify(JSON對象名);
舉例:
在線測試
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
var obj =
{
"name":"helicopter",
"age":23,
//JSON對象內部也有一個JSON對象
hobby:
{
"first":"swimming",
"second":"singing",
"third":"dancing"
}
}
var jsonStr=JSON.stringify(obj);
document.write(jsonStr);
</script>
</head>
<body>
</body>
</html>
在浏覽器預覽效果如下:
在JavaScript中,將JSON字符串轉換為JSON對象非常有用。一般,在Web服務器後台向前台傳輸數據的過程中,往往都是用字符串形式來傳輸JSON數據。如果我們在前台想要獲取JSON數據,就必須將JSON字符串轉換為JSON對象才能操作。
現在大多數浏覽器(IE8及以上,Chrome和Firefox差不多全部)自帶原生JSON對象,提供JSON.parse()方法來將JSON字符串轉換為JSON對象。
語法:
JSON.parse(字符串名);
舉例:
在線測試
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
var jsonStr = '{"name": "helicopter", "age":23, "gender": "男"}';
var jsonObj=JSON.parse(jsonStr);
document.write("姓名是:"+jsonObj.name);
</script>
</head>
<body>
</body>
</html>
在浏覽器預覽效果如下: