学习目标: 1、序列化? 答:程序中的各种数据对象 变成 表示该数据对象的 字节串 这个过程就叫序列化。
2、反序列化? 答:字节串转化为 程序中的数据对象 这个过程 称之为 反序列化
3、对象 json深拷贝? 答:拷贝的对象地址都不一样。
代码块学习:
序列化:
import json
historyTransactions = [
{
'time' : '20170101070311',
'amount' : '3088',
'productid' : '45454455555',
'productname' : 'iphone7'
},
{
'time' : '20170101050311',
'amount' : '18',
'productid' : '453455772955',
'productname' : '奥妙洗衣液'
},
]
object_json = json.dumps(historyTransactions,ensure_ascii=False,indent=4)
print(object_json)
print(type(object_json))
反序列化:
import json
historyTransactions = [
{
'time' : '20170101070311',
'amount' : '3088',
'productid' : '45454455555',
'productname' : 'iphone7'
},
{
'time' : '20170101050311',
'amount' : '18',
'productid' : '453455772955',
'productname' : '奥妙洗衣液'
},
]
obj_json = json.dumps(historyTransactions,ensure_ascii=False,indent=4)
print(type(obj_json))
print(obj_json)
object_List = json.loads(obj_json)
print(type(object_List))
print(object_List)
对象深拷贝:
list1 = [
{
'name':'yuerwen',
'age':18,
'height':188
},
{
'name':'haisliu',
'age':18,
'height':166
}
]
'''
l = []
for one in list1:
l.append({'name':one['name'],'height':one['height']})
# print(l[0]['name'] )
list1[0]['name'] = 'ddd'
print(l[0]['name'])
'''
import json
new_list1 = json.loads(json.dumps(list1,ensure_ascii=False))
list1[0]['name'] = 'ddd'
print(new_list1[0]['name'])
|