(转)Python JSON序列化

  1. import json
  2. # dict to json
  3. d=dict(name="cui",age=20,score=88)
  4. print json.dumps(d)
  5. #list to json
  6. l=["cui",20,88]
  7. print json.dumps(l)
  8. #object to json
  9. class Student(object):
  10. """docstring for Student"""
  11. def __init__(self):
  12. super(Student, self).__init__()
  13. self.age=20
  14. self.name="cui"
  15. self.score=88
  16. print json.dumps(Student(),default=lambda obj:obj.__dict__)
  17. #json to dict
  18. json_str=‘{"age": 20, "score": 88, "name": "cui"}‘
  19. d= json.loads(json_str)
  20. print d
  21. #json to list
  22. json_str=‘["cui", 20, 88]‘
  23. l=json.loads(json_str)
  24. print l
  25. #json to object
  26. json_str=‘{"age": 20, "score": 88, "name": "cui"}‘
  27. def dict2Student(d):
  28. s=Student()
  29. s.name=d["name"]
  30. s.age=d["age"]
  31. s.score=d["score"]
  32. return s
  33. student=json.loads(json_str,object_hook=dict2Student)
时间: 2024-08-04 02:54:32

(转)Python JSON序列化的相关文章

Python Json序列化与反序列化

在python中,序列化可以理解为:把python的对象编码转换为json格式的字符串,反序列化可以理解为:把json格式字符串解码为python数据对象.在python的标准库中,专门提供了json库与pickle库来处理这部分. json的dumps方法和loads方法,可实现数据的序列化和反序列化.具体来说,dumps方法,可将json格式数据序列为Python的相关的数据类型:loads方法则是相反,把python数据类型转换为json相应的数据类型格式要求.在序列化时,中文汉字总是被转

python json 序列化反序列化 和 中文编码问题

在一个项目中,需要从云端获取一个json格式的数据,并保存到本地文件中,然后再读取出来,这中间要用到json的dumps方法和loads方法,以实现数据的序列化和反序列化.具体来说,dumps方法,可将json格式数据序列为python的相关的数据类型,通常用于打印等:loads方法则是相反,把python数据类型转换为json相应的数据类型格式要求,反序列化后可以对json数据进行各种操作.在编程过程还发现一个问题,在序列化时,中文汉字总是被转换为unicode码,在网上搜索后发现,在dump

python 之序列化(pickle模块和json模块)

#!/usr/bin/env python # -*- coding: utf-8 -*- ''' 序列化(pickle)和json 1.什么是序列化? 序列化可以把一个对象(比如列表.字典都是对象),通过python特有的机制序列化一下. 也就是当作是以二进制的形式给它加密一下(特殊二进制的方式加密一下),这个过程就是序列化 并且对一个对象序列化(比如类.列表.字典)之后,可以进行反序列化. ''' import pickle,json li = ['tantianran',11,22,'ok

python基础5—文件 | json序列化

下面这些代码没有经过试验, 只是作为代码段作为日后的参考, 这些死的api姑且放在这里用的时候看一下再做总结 import sys print(sys.path) # ---------------文件---------------------------- # 第一种直接方式 file1 = open("test.txt") file2 = open("output.txt", "w") # w 表示 write (覆写) r 表示 read

python数据序列化---json & pickle

json & pickle数据序列化 序列化: 就是列表,字典等数据类型转乘字符串存入文本文件 反序列: 就是字符串从文本读出来后通过一种方法转化为列表,字典等数据类型.例如eval() json通用的:只能处理一些简单的数据类型:json: 序列化和反序列化函数: 案例1:  import json  info = {   "name": "brace",   "age": 22,  }  json_str = json.dumps(i

Python—使用Json序列化Datetime类型

import json from datetime import datetime, date """ str,int,list,tuple,dict,bool,None这些数据类型都支撑json序列化操作. 但是datetime类型不支持json序列化,我们可以自定义datetime的序列化. """ class JsonToDatetime(json.JSONEncoder): """ JSONEncoder不知

python的序列化和反序列化

python 的序列化和反序列化用于内存之间的共享,包括服务器和客户端的共享,两个Python程序之间的共享,以及以字符串的形式存储到硬盘中. pyhton 的pickle 可以对Python的各种数据类型进行操作,包括类.pickle中只适用于Python 1 #Python的序列化和反序列化 2 import pickle 3 4 li = ['xiaoli','xiaowang','12','3','4'] 5 dumped = pickle.dumps(li) #将列表进行了序列化 6

django学习之- json序列化

序列化操作 - Errordict - 自定义Encoder - django的模块可以直接序列化 第一种: from django.core import serializers # 通过这个模块对queryset对象可以直接序列化 ret = models.tb.objects.all() data = serializers.serialize("json",ret) #这里指定将ret序列化为json 第二种: ret = models.tb.objects.values('i

python:序列化与数据持久化

数据持久化的方式有: 1.普通文件无格式写入:将数据直接写入到文件中 2.普通序列化写入:json,pickle 3.DBM方式:shelve,dbm 相关内容: json pickle shelve dbm 首发时间:2018-02-23 20:52 json: 介绍: 按照指定格式[比如格式是字典,那么文件中就是字典]将数据明文写入到文件中,类型是bytes的,比如"中文"就会变成Unicode编码 用法: 首先要导入模块import json 序列化: json.dump(序列化