gistfile1.txt
# Python中有一些内置模块可以非常便捷地将json字符串转换为Python对象。比如json模块中的json.relaods()方法可以将json字符串解析为相应的字典。
import json
#读取文件并解析为字典组成的列表
dicList=[json.loads(line) for line in open('E:\Demo\python\json.txt')]
#打印第一个字典元素
print dicList[0]
#打印第一个元素中的时区
print dicList[0]['tz']
{u'a': u'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.78 Safari/535.11', u'c': u'US', u'nk': 1, u'tz': u'America/New_York', u'gr': u'MA', u'g': u'A6qOVH', u'h': u'wfLQtf', u'cy': u'Danvers', u'l': u'orofrog', u'al': u'en-US,en;q=0.8', u'hh': u'1.usa.gov', u'r': u'http://www.facebook.com/l/7AQEFzjSi/1.usa.gov/wfLQtf', u'u': u'http://www.ncbi.nlm.nih.gov/pubmed/22415991', u't': 1331923247, u'hc': 1331822918, u'll': [42.576698, -70.954903]}
America/New_York
# 无bug
import json
test_dict = {'bigberg': [7600, {1: [['iPhone', 6300], ['Bike', 800], ['shirt', 300]]}]}
#write
with open("./record.json","w") as f:
json.dump(test_dict,f)
print("fdf...")
#read
with open("./record.json",'r') as load_f:
load_dict = json.load(load_f)
#load zhihou xiugai
load_dict['smallberg'] = [8200,{1:[['Python',81],['shirt',300]]}]
print(load_dict)
import json
a = json.dumps([{"number": "中文", "is_checked": 1}]) # [{"is_checked": 1, "number": "\u4e2d\u6587"}] #
b = json.dumps([{"number": "中文", "is_checked": 1}],ensure_ascii=False,) # [{"number": "中文", "is_checked": 1}]
c = json.loads(b) # 别少个s
print(c[0].get("number")) # 中文
# print(c.get("number")) # bug AttributeError: 'list' object has no attribute 'get' 看清楚!!
其实dumps 和loads还是用在对url处理上居多 很安全的把非字符串类型数据 安全处理成可以传输的字符串类型
url = "http://www.baidu.com/?a=zhongwwen&b=ddfdfsdf"
aa = json.dumps(url) # "http://www.baidu.com/\uff1fa=zhongwwen&b=ddfdfsdf"
bb = json.loads(aa) # http://www.baidu.com/?a=zhongwwen&b=ddfdfsdf
print(bb)