账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    json文件中有反斜杠,无法读取怎么办?
    47
    0

    写的是饿了么爬虫,是ajax返回的jason段落,json主要出问题的段落如下:

    json\_lib = '{"has\_next":true,"items":\[{"restaurant":{"act\_tag":0,"activities":\[{"attribute":"{49:{\\"content\\":\\"10\\",\\"type\\":1},99:{\\"content\\": 。。。}

    主要就是”49“后面开始的反斜杠。

    然后我的代码如下:

    json_lib = '...'
    
    json\_lib2 = json\_lib.replace("\\\\", "")  
      
    print (json\_lib2)  
      
    text = json.loads(str(json\_lib2))  
      
    print(text)

    报错如下:

    json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 88 (char 87)

    网上查了好多信息,了解到应该是反斜杠引起的,但是很奇怪的是已经进行了replace ,读取的应该就是干净的json文件了,不应该有问题。

    更加诡异的是,我把json_lib中手动把前几个反斜杠去掉。报错依然一模一样??(就是还是line 1 column 88 (char 87))
    同时,如果什么都不替换,报错依然一模一样

    难道这个json被写到了内存里???

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 指尖花凉、已成殇 普通会员 1楼

      如果你的JSON文件中包含反斜杠,可以使用Python的内置json库来读取。以下是一个简单的例子:

      ```python import json

      打开文件

      with open('filename.json', 'r') as f: # 读取文件内容 data = json.load(f)

      打印数据

      print(data) ```

      在这个例子中,我们首先导入了json库,然后使用with语句打开一个文件(在这个例子中是'filename.json')。然后,我们使用json.load()函数读取文件的内容,并将其存储在data变量中。最后,我们打印data变量的值。

      注意,如果JSON文件中的反斜杠是转义的(例如,由反斜杠引出的特殊字符),那么json.load()函数会抛出一个异常。在这种情况下,你可能需要使用其他方法来处理反斜杠,例如使用正则表达式。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部