json相关obj序列化库及使用
来源:互联网 发布:淘宝steam慈善包送大作 编辑:程序博客网 时间:2024/05/20 21:45
一 obj->dict->json
1 datetime.datetime 针对datetime
把dict中的datetime元素转成string,从而实现dict->json
def default(obj): """Default JSON serializer.""" if isinstance(obj, datetime.datetime): if obj.utcoffset() is not None: obj = obj - obj.utcoffset() millis = int( calendar.timegm(obj.timetuple()) * 1000 + obj.microsecond / 1000 ) return millisjson.dumps(obj,default=default)
2 普通 encoder 把obj转成dict
def default(obj): """Default JSON serializer.""" if isinstance(obj, datetime.datetime): if obj.utcoffset() is not None: obj = obj - obj.utcoffset() millis = int( calendar.timegm(obj.timetuple()) * 1000 + obj.microsecond / 1000 ) return millis
3 使用第三方库
from bson.json_util import dumps as json_dumpsjson_dumps(obj...)
二 json->dict->str
1 自己写解码器
class MyDecoder(json.JSONDecoder): def __init__(self): json.JSONDecoder.__init__(self, object_hook=self.dict_to_object) def dict_to_object(self, d): if '__class__' in d: class_name = d.pop('__class__') module_name = d.pop('__module__') module = __import__(module_name) print 'MODULE:', module class_ = getattr(module, class_name) print 'CLASS:', class_ args = dict( (key.encode('ascii'), value) for key, value in d.items()) print 'INSTANCE ARGS:', args inst = class_(**args) else: inst = d return inst
2 使用第三方库
from bson.json_util import loads as json_loadsjson_loads(obj...)
JAVASCRIPT json使用:
How to parse JSON in JavaScript
Serializing to JSON in jQuery
0 0
- json相关obj序列化库及使用
- 使用ObjectMapper 序列化Json
- JSON语法及解析,序列化
- json入门及相关
- 使用JavaScriptSerializer进行JSON序列化
- 使用JavaScriptSerializer进行JSON序列化
- 使用Json.NET序列化DataSet
- 使用JsonConfig控制JSON lib序列化
- 使用Jackson解析JSON和序列化
- Json.NET使用入门(一)【序列化】
- golang 使用json 包 实现序列化
- C# LitJson Json序列化简单使用
- mvc 使用Newtonsoft.Json进行序列化json数据
- javascript下的json 序列化及反序列化
- Json序列化及反序列化(备忘)
- Json序列化及反序列化(备忘)
- .net 3.5 DataContractJsonSerializer序列化及反序列化二(json格式化)
- js,json序列化及日期时间处理
- Java对List进行排序
- 防撞扶手使用效果明显
- 简单工厂模式
- xcode 创建多个target
- 防撞扶手使用效果明显
- json相关obj序列化库及使用
- 28_sharedPreference入门.avi
- HDU 4961
- 冷轧钢带的性能标准
- 互联网的思考
- Android 动画AlphaAnimation类方法
- Android内存回收策略优先级
- Android Animation详解一
- linux下装了mysql后重置root密码的问题