JSON對象 javscript對象 解析JSON 序列化JSON

在ajax交互的時候咱們只須要拿到數據(主要是JSON)去渲染處理邏輯就能夠,不須要對JSON有詳細的瞭解,可是有時候後臺接口開發沒有完成,須要寫僞代碼的時候咱們能夠本身手動造一些假數據,這樣就能夠模擬交互。ajax必定要跑在服務器環境下才能發請求。javascript

一:JSON初探java

  • JSON是一種數據格式,不是一門語言。雖然和js打交道,但並不從屬於js,不少編程語言都有對JSON的解析器和序列化器。
  • JSON能夠表示簡單值(能夠表示字符串、數值、布爾值、和null不能表示undefined),對象(鍵值對),數組。
  • JSON符合不符合語法?能夠經過在線監測工具檢測推薦:http://www.json.cn

 二:常遇到的坑ajax

  1. JSON對象和javascript對象有的區別下面舉例子: 
//js聲明對象的方式:
	1.經過自變量的形式
	  var preson={name:'hwb',age:25,form:'山西'};//結尾加分號
	  //也能夠是:(單引號和雙引號均可以)
	  var preson={'name':'hwb','age':25,'form':'山西'};
	2.var obj=new Object()
	      obj.name='hwb';
	      obj.age=25;
	      obj.from='山西';
	//JSON的對象表示法:屬性必須用雙引號包起來
	1.{
		"name":'hwb',
		"age":25,
		"form":'山西'
	  }//結尾不能有分號不然校驗的時候會報語法錯誤。

   與js不一樣,JSON中對象的屬性任什麼時候候都必須加雙引號。手工編寫JSON時,忘了給對象屬性名加雙引號或者把雙引號寫成單引號都是常見的錯誤。(這些都是從javascript高級程序設計第三版中看到的,這本書的第564頁有錯誤,前面說的要加雙引號,它後面舉例子(JSON數組)的時候就有的地方沒有加,他媽的還覺得我又理解錯了,因而把它的JSON手動敲出來去校驗果真沒經過,書裏面也有錯誤啊。)編程

   2.一直用jquaery的ajax方法就自動把服務器返回的JSON字符串(帶引號的JSON)解析。一句話就是把帶引號的JSON串解析成原生javascript值。 那麼封裝原生ajax的時候就不免要對JSON進行解析。json

  •     一種是用eval()  不推薦使用eva()不安全(可能會執行寫惡意代碼)。
  •     ES5對解析JSON進行了規範,定義了全局對象JSON。(ie8+支持),利用該對象下的JSON.parse()能夠對JSON進行解析。
  • 只知道JSON.parse()殊不知道JSON.stringify(),它的做用是和JSON.parse()相反一個是把javascript對象序列化成JSON字符串,一個是把JSON字符串解析成原生javascript值。  

    3.對於JSON.parse()解析的時候能夠傳的參數也就是選項和JSON.stringify()序列化的時候傳的參數比較少用,這兩個方法都有一些選項,經過它們,能夠改變過濾的方式或者改變序列化的過程。這裏就不作解釋了。網上的具體解釋也不少數組

相關文章
相關標籤/搜索