zoukankan      html  css  js  c++  java
  • 导入json文件报错,TypeError expected string or buffer

    导入json文件报错,TypeError expected string or buffer

    原因:用字符串赋值后,python会把双引号转换为单引号

    import json
    
    data = [{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}]
    print(type(data),data)
    

    执行结果:

    <class 'list'> [{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}]

    但是了,json是不支持单引号的。可以用下面的方法转换

    json_string=json.dumps(s)
    
    python_obj=json.loads(json_string)
    

    实例:

    import json
    
    data = [{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}]
    json_string = json.dumps(data) #dumps序列化为str,所以保证了双引号没有变为单引号
    python_obj=json.loads(json_string) #oads反序列化,所以与原data相同
    print(type(json_string),json_string)
    print(type(python_obj),python_obj)
    

    执行结果:

    <class 'str'> [{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}]
    <class 'list'> [{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}]
  • 相关阅读:
    chrome:禁用缓存
    datatables:如何禁用一列的排序
    springboot:集成fastjson(教训)
    eclipse:显示堆内存
    模板, 保存&发布
    动画
    配色
    图示 Smart-Art
    常用快捷键 & BLOG & Website
    图表
  • 原文地址:https://www.cnblogs.com/pinpin/p/10619471.html
Copyright © 2011-2022 走看看