zoukankan      html  css  js  c++  java
  • python3.5和python3.6关于json模块的区别

    python3.5中

      无法反序列化bytes数据必须decode成str才可以

    >>> import json
    >>> a = b'{"username": "xxx"}'
    >>> c = json.loads(a)
    
    '''
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/__init__.py", line 312, in loads
        s.__class__.__name__))
    TypeError: the JSON object must be str, not 'bytes'
    
    '''

      3.5解决办法:

    >>> a = b'123'
    >>> c = json.loads(a)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/__init__.py", line 312, in loads
        s.__class__.__name__))
    TypeError: the JSON object must be str, not 'bytes'
    >>> c = json.loads(a.decode('utf-8'))
    >>> c
    123
    

      

    python3.6中

      无论bytes类型或者str类型都可以反序列化

    >>> import json
    >>> a = b'{"username": "xxx"}'
    >>> c = json.loads(a)
    >>> g = b'{"username": "xxx"}'
    >>> h = json.loads(g.decode("utf-8"))
    

      

  • 相关阅读:
    用户反馈
    Alpha版本测试报告
    Alpha Scrum7
    #Alpha Scrum6
    Alpha Scrum5
    #Alpha Scrum4
    Alpha Scrum3
    Alpha Scrum2
    课程总结
    实验九
  • 原文地址:https://www.cnblogs.com/liujiliang/p/8366708.html
Copyright © 2011-2022 走看看