Python не может открыть JSON файл, что дает JSONDecodeError - PullRequest
1 голос
/ 23 апреля 2020

Я хочу открыть файл JSON, используя Python в моем проекте, но я постоянно получаю следующую ошибку:

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Это код:

import json
with open("../data.txt") as json_file:
    data = json.load(json_file)

У меня действительно простой текстовый файл с JSON отформатированными данными. Это data.txt файл:

{
    "data":  [
                 {
                     "day":  "22/04/2020 15:35",
                     "viewcount":  "1"
                 },
                 {
                     "day":  "22/04/2020 20:51",
                     "viewcount":  "2"
                 }
             ]
}

Ответы [ 3 ]

2 голосов
/ 23 апреля 2020

Я попробовал ваш исходный код и видимые JSON данные как есть, они работают без проблем.

Я бы предложил проверить содержимое файла в двоичном виде, например, используя утилита, такая как hexdump , чтобы увидеть, как она начинается:

$ hexdump data.txt 
0000000 0a7b 2020 2020 6422 7461 2261 203a 5b20                                                                                                                                                
0000010 200a 2020 2020 2020 2020 2020 2020 2020                                                                                                                                                
0000020 2020 0a7b 2020 2020 2020 2020 2020 2020
...

Или используйте утилиту file для проверки кодировки, как описано в следующем посте: https://unix.stackexchange.com/questions/11602/how-can-i-test-the-encoding-of-a-text-file-is-it-valid-and-what-is-it

1 голос
/ 23 апреля 2020

Код python не был проблемой. Файл не был сохранен в кодировке UTF-8, это была проблема.

0 голосов
/ 23 апреля 2020

добавить Режим чтения в открывающемся файле:

import json
with open("../data.txt","r") as json_file:
    data = json.load(json_file)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...