美文网首页小白提升记=
JSON读取数据 ValueError: Extra data:

JSON读取数据 ValueError: Extra data:

作者: 晓函 | 来源:发表于2016-05-15 19:30 被阅读4784次

    如果你要读取一个多行的json文件,比如

    {"pid": 150400, "id": 150402, "name": "电影票"}
    {"pid": 150000, "id": 150500, "name": "票务"}
    {"pid": 150500, "id": 150501, "name": "国内旅游"}
    {"pid": 150500, "id": 150502, "name": "海外旅游"}
    

    如果你直接使用:

    file = open('test.json','r')
    res = file.read()
    dic = json.loads(res)
    

    则会抛出异常:ValueError: Extra data: line 2 column 2 - line 4 column 2
    表示数据错误,数据太多:第二行-第四行
    因为json只能读取一个文档对象,有两个解决办法
    1、单行读取文件
    2、保存数据源的时候,格式写为一个对象

    代码:
    方法一.单行读取文件

    file = open('test.json','r')
    for line in file.readlines():
        dic = json.loads(line)
    

    方法二.保存数据源的时候,格式写为一个对象

    {"cates":[
    {"pid": 150400, "id": 150402, "name": "电影票"},
    {"pid": 150000, "id": 150500, "name": "票务"},
    {"pid": 150500, "id": 150501, "name": "国内旅游"},
    {"pid": 150500, "id": 150502, "name": "海外旅游"}
    ]}
    
    #然后 就是作为一个文档对象处理
    file = open('test.json','r')
    res = file.read()
    dic = json.loads(res)
    

    相关文章

      网友评论

      本文标题:JSON读取数据 ValueError: Extra data:

      本文链接:https://www.haomeiwen.com/subject/ahgvrttx.html