首页 > 编程语言 > 详细

Python json_encode/json_decode的使用

时间:2020-11-23 15:11:24      阅读:40      评论:0      收藏:0      [点我收藏+]
需求:json序列化与反序列化的使用,在网络传输中经常会使用到
注意:此代码来源Tornado源码
#!/usr/bin/env python
# -*- coding: utf-8 -*-import json
import typing
from typing import Any, Optional, Union

unicode_type = str

@typing.overload
def to_unicode(value: str) -> str:
    pass

@typing.overload  # noqa: F811
def to_unicode(value: bytes) -> str:
    pass

@typing.overload  # noqa: F811
def to_unicode(value: None) -> None:
    pass

_TO_UNICODE_TYPES = (unicode_type, type(None))

def to_unicode(value: Union[None, str, bytes], code_type=utf-8) -> Optional[str]:  # noqa: F811
    """字节类型转为字符串"""
    if isinstance(value, _TO_UNICODE_TYPES):
        return value
    if not isinstance(value, bytes):
        raise TypeError("Expected bytes, unicode, or None; got %r" % type(value))
    return value.decode(code_type)
def json_encode(value: Any) -> str:
    """
        json序列化为字符串
    """
    return json.dumps(value).replace("</", "<\\/")

def json_decode(value: Union[str, bytes]) -> Any:
    """
        json反序列化为python支持的数据类型
    """
    return json.loads(to_unicode(value))

if __name__ == __main__:
    li = [1, 2, 3]
    ret = json_encode(li)
    ret = json_decode(ret)
    print(ret,type(ret))

 

Python json_encode/json_decode的使用

原文:https://www.cnblogs.com/ygbh/p/14023852.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!