【问题标题】:raise JSONDecodeError("Expecting value", s, err.value)raise JSONDecodeError("期望值", s, err.value)
【发布时间】:2017-12-28 13:12:29
【问题描述】:

菜鸟问题提醒。

我只是尝试使用以下代码在 Python 3.5 上打开一个 json 文件:

import json
with open('lista.json') as data_file:    
data = json.load(data_file)
print(data)

这是我得到的错误:

文件“”,第 1 行,在 runfile('C:/Users/Manuel Beja da Costa/Desktop/Drive/Projecto Phénix/dist_2pontos.py', wdir='C:/Users/Manuel Beja da Costa/Desktop/Drive/Projecto Phénix')

运行文件中的文件“C:\Program Files\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py”,第 866 行 execfile(文件名,命名空间)

文件“C:\Program Files\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py”,第 102 行,在 execfile exec(编译(f.read(),文件名,'exec'),命名空间)

文件“C:/Users/Manuel Beja da Costa/Desktop/Drive/Projecto Phénix/dist_2pontos.py”,第 19 行,在 数据 = json.load(data_file)

文件“C:\Program Files\Anaconda3\lib\json__init__.py”,第 268 行,加载中 parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)

文件“C:\Program Files\Anaconda3\lib\json__init__.py”,第 319 行,加载中 返回_default_decoder.decode(s)

文件“C:\Program Files\Anaconda3\lib\json\decoder.py”,第 339 行,在解码中 obj, end = self.raw_decode(s, idx=_w(s, 0).end())

文件“C:\Program Files\Anaconda3\lib\json\decoder.py”,第 357 行,在 raw_decode 从 None 提高 JSONDecodeError("Expecting value", s, err.value) JSONDecodeError:期望值

这是我试图读取的 json 文件:

{
  "listings": [
    {
      "listing": {
        "beds": 1,
        "extra_host_languages": [
          "es",
          "fr"
        ],
        "fully_refundable": true,
        "id": 14177767,
        "is_business_travel_ready": false,
        "is_family_preferred": false,
        "is_new_listing": false,
        "is_superhost": false,
        "lat": 38.72871983279113,
        "lng": -9.1430894448315,
        "localized_city": "Lisboa",
        "localized_neighborhood": "São Jorge de Arroios",
        "name": "Red room in the city center",
        "person_capacity": 1,
        "picture_count": 15,
        "picture_urls": [
          "https://a0.muscache.com/im/pictures/2e5d63dd-fdf5-4e34-85cb-c52ceafe3fc2.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/9f0e0439-e49f-473c-a835-226811dba15d.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/c90ac958-b158-410c-84af-d95148e38984.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/a22eee21-d963-4161-a6e5-15c371f91295.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/5645a244-8d3b-4c4d-9192-0eaaaf57bdef.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/a16c0fc1-e581-4519-a9f4-d9da00f283f2.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/52129cd2-0cf4-4579-821e-bc468b57c95b.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/ade06b7c-9ca1-442c-b045-93dc38407005.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/8a0a21bd-fe7e-43fb-8923-8134e1bb8800.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/536bbb15-ea3d-41a2-8cd5-148bb490df7d.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/cfe67940-20f1-4dcd-993f-ff4d64e75e9c.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/fd5217e7-232f-42ab-bd25-94f00ea79bbe.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/366e9648-28bd-4d4f-b477-2c8696a64e85.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/e78df5cc-ba9c-4c2a-a7fb-b007401d5ec3.jpg?aki_policy=large",
          "https://a0.muscache.com/im/pictures/8ca4870d-782c-4e7c-b516-e09d6be0a928.jpg?aki_policy=large"
        ],
        "preview_encoded_png": "iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAIAAAAPE8H1AAAAPUlEQVQIHQEyAM3/Af2pPuUZahkb+QH+njn0VLvmspsB+ZpM5DSJ2KueAbZgNxYLA9Ph6gHKXBIkOiHeueJ43BhqXfjB2QAAAABJRU5ErkJggg==",
        "reviews_count": 81,
        "room_type": "Quarto inteiro",
        "show_structured_name": false,
        "space_type": "Quarto inteiro",
        "star_rating": 5,
        "tier_id": 0,
        "fully_refundable_cutoff_days": 1
      },
      "pricing_quote": {
        "can_instant_book": true,
        "monthly_price_factor": null,
        "price": null,
        "rate": {
          "amount": 23,
          "amount_micros": null,
          "amount_formatted": "$23",
          "is_micros_accuracy": false,
          "currency": "USD"
        },
        "rate_type": "nightly",
        "rate_with_service_fee": {
          "amount": 23,
          "amount_micros": null,
          "amount_formatted": "$23",
          "is_micros_accuracy": false,
          "currency": "USD"
        },
        "weekly_price_factor": null
      },
      "recommendation_reason": null,
      "recommendation_reason_id": null
    }

非常感谢您的宝贵时间! :)

【问题讨论】:

  • 您的 json 文件末尾缺少这 2 个字符:] } 添加它们,它应该可以工作。
  • 他们已经在那里了,我的坏..还是同样的问题

标签: json python-3.x


【解决方案1】:

我假设上述代码正在 Windows 中进行调试;尝试以二进制模式“b”打开文件,这在我遇到相同问题时对我有帮助。

import json
with open('lista.json', 'rb') as data_file:    
    data = json.load(data_file)
    print(data)

【讨论】:

    猜你喜欢
    • 2021-03-05
    • 2021-02-23
    • 2022-06-11
    • 2019-09-18
    • 2021-09-29
    • 2019-08-06
    • 2020-04-19
    • 2020-09-04
    • 1970-01-01
    相关资源
    最近更新 更多