初學者經常有一個困惑,就是分不清普通字符串、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>
在浏覽器預覽效果如下: