JSON數據格式,JSON格式化介紹,JSON格式介紹。

JSON 2016-08-22 18:35:45 46352

1.基本介紹

首先有同學問我們在Javascript里操作的“JSON.stringify ”與 “JSON.parse ”是Javascript自帶的嗎?

JSON.stringify();
JSON.parse();
首先:
JSON對象是javascript自帶的,不過對于不同瀏覽器,支持不同。

支持列表

  • IE8+
  • chrome
  • firefox
  • safari
    ...

不支持列表

  • ie7,ie6, ie6-

在現在瀏覽器,IE8+,chrome,firefox,safair等支持,但是在ie6,ie7是不支持的,如果用這JSON 對象,并且要求低版本的瀏覽器支持,你可以使用json2來支持。

附帶:JSON2


早期的JSON解析器基本上就是使用JavaScript的eval()函數。由于JSON是JavaScript語法的自己,因此eval()函數可以解析、解釋并返回JavaScript的對象和數組。
ECMAScript 5對解析JSON的行為進行了規范,定義了全局對象JSON。

據網上資料,瀏覽器對JSON的支持情況 : IE8 chrome1+ safari3+ firefox3+

2.JSON用法

對象以"{"(左括號)開始,"}"(右括號)結束。每個"名稱"后跟一個":"(冒號);"'名稱/值’'對"之間運用 “,”(逗號)分隔。 名稱用引號括起來;值如果是字符串則必須用括號,數值型則不須要。

例如:

{
    "站長": "soso,QQ:8446666",
    "域名": "http://www.267332.tw",
    "開發語言": "最牛逼的語言——Java ^_^",
    "編碼": "UTF-8"
}

 數組是值(value)的有序集合。一個數組以”[”(左中括號)開始,"]"(右中括號)結束。值之間運用 ","(逗號)分隔。

例如:

{
    "技術使用": [
        "SpringMVC",
        "Mybatis ",
        "Freemarker",
        "Shiro"
    ],
    "數據存儲": [
        "Redis",
        "RDS",
        "七牛云存儲"
    ]
}

數據傳輸流程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對象,所以,JSON對象和JSON字符串之間的相互轉換是關鍵。

JSON字符串:

var data='{"name":"sojson","url":"www.267332.tw"}';//外面是用單引號“'”引用。
var data="
{\"name\":\"sojson\",\"url\":\"www.267332.tw\"}";//外面用雙引號就要用反斜杠 ‘\’。

JSON對象: 

var data={"name":"sojson","url":"www.267332.tw"};

注意:如果obj本來就是一個JSON對象,那么運用 eval()函數轉換后(哪怕是多次轉換)還是JSON對象,但是運用 parseJSON()函數處理后會有疑問(拋出語法異常)。

個人推薦最好不要用eval(),因為如果可以運算的字符串,結果就會和應該的到的不一致,比如字符串里有含有"1+2",本來就是個字符串,但是結果是以"3"的方式輸出的。

可以運用 toJSONString()或者全局的JSON.stringify()函數將JSON對象轉化為JSON字符串。

代碼如下:

//將JSON對象轉化為JSON字符
var jsonstr = data.toJSONString();

//或者這樣

//將JSON對象轉化為JSON字符 var jsonstr = JSON.stringify(data);

總結一下:

  1. 在數據傳輸流程中,json是以文本,即字符串的形式傳遞的,和其他的傳輸類型沒有任何差別。都是以字符串文本傳輸。
  2. Json.stringify()將JSON對象轉為JSON字符串(也稱之為序列化);
  3. Json.parse()將JSON字符串轉為JSON對象(也稱之為反序列化);

版權所屬:SO JSON在線解析

原文地址:http://www.267332.tw/blog/24.html

轉載時必須以鏈接形式注明原始出處及本聲明。

本文主題:

如果本文對你有幫助,那么請你贊助我,讓我更有激情的寫下去,幫助更多的人。

關于作者
一個低調而悶騷的男人。
相關文章
最新文章
當我談 HTTP 時,我談些什么? 2309
新浪短鏈(t.cn)最新申請官方API的方法講解。 14111
QUIC / HTTP3 協議詳細分析講解 2032
恭喜那個做云存儲的七牛云完成 F 輪 10 億人民幣的融資,開啟新的云旅程 3034
Autojs怎么安全加密?Autojs在線加密工具注意事項。 6037
Java JSON 組件選型之 FastJson 為什么總有漏洞? 17455
使用七牛云存儲實現圖片API,自動刪除圖片方案合集 3464
神速ICP備案經驗分享,ICP備案居然一天就通過了 4695
百度加強推送URL鏈接,百度SEO強行推送鏈接JavaScript代碼案例講解。 4598
SOJSON 拓展服務器被DDos攻擊了一晚上,是如何解決的? 6204
最熱文章
蘋果電腦Mac怎么恢復出廠系統?蘋果系統怎么重裝系統? 491389
我為什么要選擇RabbitMQ ,RabbitMQ簡介,各種MQ選型對比 441992
最新MyEclipse8.5注冊碼,有效期到2020年 (已經更新) 391614
免費天氣API,全國天氣 JSON API接口,可以獲取五天的天氣預報 380846
Elasticsearch教程(四) elasticsearch head 插件安裝和使用 257569
Jackson 時間格式化,時間注解 @JsonFormat 用法、時差問題說明 227734
談談斐訊路由器劫持,你用斐訊路由器,你需要知道的事情 156234
Elasticsearch教程(一),全程直播(小白級別) 133704
Java 信任所有SSL證書,HTTPS請求拋錯,忽略證書請求完美解決 121616
Elasticsearch教程(五) elasticsearch Mapping的創建 106646
支付掃碼

所有贊助/開支都講公開明細,用于網站維護:贊助名單查看

查看我的收藏

正在加載... ...

广西十一选5开奖结