在服務器和客戶端的數據交互的時候,要找到一種數據格式,服務端好處理,客戶端也好處理,這種數據格式應該是一種統一的標准,不管在哪里端處理起來都是統一的,現在這種數據格式非常的多,比如最早的xml,再后來較為流行的json。
JSON是什么
JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式。它基於 ECMAScript (w3c制定的js規范)的一個子集,采用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。
JSON 比 XML 更小、更快,更易解析。
json格式如下:
{
"sites": [
{
"name": "阿貓學編程",
"url": "www.bugingcode.com"
},
{
"name": "博客園",
"url": "www.cnblogs.com"
},
{
"name": "cndn",
"url": "www.csdn.com"
}
]
}
python中如何解析json
既然json是一個通用的數據交換方式,那么python中如何解析json呢?
在python中標准庫就能對json字符串進行解析,同時把python的數據結構轉換為json格式字符串。
把字符串json解析為python的數據結構:
#!/usr/bin/python
#coding=utf-8
"""
start python 項目
"""
import json
if __name__ == '__main__':
jsonstr="""{
"sites": [
{
"name": "阿貓學編程",
"url": "www.bugingcode.com"
},
{
"name": "博客園",
"url": "www.cnblogs.com"
},
{
"name": "cndn",
"url": "www.csdn.com"
}
]
}"""
print jsonstr
sites = json.loads(jsonstr)
print sites
print sites['sites']
for site in sites['sites']:
print site['name'],site['url']
把python中的數據結構轉換為json格式:
#!/usr/bin/python
#coding=utf-8
"""
start python 項目
"""
import json
if __name__ == '__main__':
sites = {'sites':[{"name": "阿貓學編程","url": "www.bugingcode.com"},{"name": "博客園","url": "www.cnblogs.com"},{"name": "csdn","url": "www.csdn.com"}]}
jsonstr = json.dumps(sites)
print jsonstr
更多教程:阿貓學編程