JSON取值(key是中文或者數字)方式詳解


JSON取值(key是中文或者數字)方式詳解

先准備一個json對象用於演示

var json = {'name':'zhangsan', '年齡':23, 404:'你可能迷路了'};
  1. 使用JS中with關鍵字

     with(json) {
     	console.log(name);//輸出:zhangsan
     	console.log(年齡);//輸出:23
     	console.log(404);//輸出:404,用這種方法讀取key是數字的屬性,有問題
     }
    
  2. 最常見的傳統的讀取key

     console.log(json.name);//輸出:zhangsan
     //key是中文也是支持的
     console.log(json.年齡);//輸出:23
     //key是Number類型或者String類型的數字都不能這么讀取
     console.log(json.404);//報錯
    
  3. 通用萬能型:json['key']

     console.log(json['name']);/輸出:zhangsan
     console.log(json['年齡']);//輸出:23
     console.log(json['404']);//輸出:你可能迷路了
    
  4. json[key]

     console.log(json[name]);/輸出:undefinded
     console.log(json[年齡]);//報錯
     console.log(json[404]);//輸出:你可能迷路了
    

json處理動態key方式

先准備案例對象

var jsonArr = [
    {"id": "1", "name": "A1"},
    {"id": "2", "name": "A2"},
    {"id": "3", "name": "A3"},
    {"id": "4", "name": "A4"},
    {"id": "5", "name": "A5"}
]
  1. 如果數據量不大,偶爾查詢一次,使用for...in遍歷

  2. 如果數據量大,經常使用,建立查找表提升性能

     //創建一個查找表函數
     function createLookMap(field) {
     	var map = {};//創建一個空的json對象
     	for (var i = 0; i < jsonArr.length; i++) {
     		var value = jsonArr[i];//將數組中的元素作為json對象的值
     		var key = value[field];//選取一個屬性作為新的json對象的key
     		map[key] = value;
     	}
     	return map;
     }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM