如何用python解析json對象(基礎篇)
一、什麼是json?
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,易於人閱讀和編寫.。
1、json語法:
{"name":"baidu","alexa":100,"site":null}n
對象可以包含多個 key/value(鍵/值)對。
key 必須是字元串,value 可以是合法的 JSON 數據類型(字元串, 數字, 對象, 數組, 布爾值或 null)。
key 和 value 中使用冒號(:)分割。
每個 key/value 對使用逗號(,)分割。
2、訪問對象值:
<!DOCTYPE html>n<html>n<head>n<meta charset="utf-8">n</head>n<body>n<p>你可以使用點號(.)來訪問 JSON 對象的值:</p>n<p id="demo"></p>n<script>nvar myObj, x;nmyObj = { "name":"baidu", "alexa":100, "site":null };nx = myObj.name;ndocument.getElementById("demo").innerHTML = x;n</script>n</body>n</html>n
顯示結果如下:
3、循環對象:
<!DOCTYPE html>n<html>n<head>n<meta charset="utf-8">n</head>n<body>n<p>使用 for-in 來循環對象的屬性:</p>n<p id="demo"></p>n<script>nvar myObj = { "name":"baidu", "alexa":100, "site":null };nfor (x in myObj) {n document.getElementById("demo").innerHTML += x + "<br>";n}n</script>n</body>n</html>n
顯示結果如下:
二、如何用Python解碼JSON對象
1、json.loads
json.loads 用於解碼 JSON 數據。該函數返回 Python 欄位的數據類型。
import jsonnjsonDate={"a":1,"b":2,"c":3,"d":4,"e":5}ntext=json.loads(jsonDate)nprint(text)n
顯示結果如下:
2、json類型轉換到python類型對照表:
3、JSON 函數decode:
Python 可以使用 demjson.decode() 函數解碼 JSON 數據。該函數返回 Python 欄位的數據類型。語法如下:
demjson.decode(self, txt)n
示例:
import demjsonnnjson = {"a":1,"b":2,"c":3,"d":4,"e":5};nntext = demjson.decode(json)nprint textn
顯示結果如下:
三、Python 字典(Dictionary)
1、什麼是字典?
- 字典(dictionary)是除列表以外python之中最靈活的內置數據結構類型。列表是有序的對象集合,字典是無序的對象集合。
- 兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
- 字典用"{ }"標識。字典由索引(key)和它對應的值value組成。
dict = {}ndict[one] = "This is one"ndict[2] = "This is two"n ntinydict = {name: john,code:6734, dept: sales}n n nprint(dict[one]) # 輸出鍵為one 的值nprint(dict[2]) # 輸出鍵為 2 的值nprint(tinydict) # 輸出完整的字典nprint(tinydict.keys()) # 輸出所有鍵nprint(tinydict.values()) # 輸出所有值n
顯示結果如下:
2、用方括弧訪問字典里的值:
dict = {Name: Zara, Age: 7, Class: First};n nprint("dict[Name]: ", dict[Name])nprint(dict[Age]: ", dict[Age])n
顯示結果如下:
推薦閱讀:
※[新聞] CPython / 微軟 Pyjion / IBM Python+OMR
※Flask框架從入門到實戰
※python編程基礎(一)
※配置IPython Notebook提供非本地訪問
※構建PyQt5.8/Python2.7