powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python чтение json
12 сообщений из 12, страница 1 из 1
Python чтение json
    #39298915
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начал изучать Pythonю пытаюсь прочитать json из стороннего файла

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#!/usr/bin/env python3
import json;

print("Content-type: text/html");
print();

	
myfile = open("simple.json");     
string = myfile.read();
print(json.dumps(string, sort_keys=True))



В переменную string содержимое файла приходит. А вот json.dumps не срабатывает. Обьясните плиз что не так делаю или как подругому надо?

И вопрос в догонку можно ли устроить чтоб пайтон выводил ошибки на страницу как PHP. А то я файлики кидию на хост, чуть что не так получаю ощибку 500
...
Рейтинг: 0 / 0
Python чтение json
    #39298918
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот бы еще понять что именно надо делать.

Library Reference json. dumps ](obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)

Serialize obj to a JSON formatted str using this conversion table. If ensure_ascii is false, the result may contain non-ASCII characters and the return value may be a unicode instance.

Первым аргументом должен быть объект, а не строка.

Тут наверное нужен json.loads
Library Reference json. loads (s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

Deserialize s (a str or unicode instance containing a JSON document) to a Python object using this conversion table.
...
Рейтинг: 0 / 0
Python чтение json
    #39298919
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak,

А, не тогда понятно что не так!
А на счёт вывода ощибок?
...
Рейтинг: 0 / 0
Python чтение json
    #39298965
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AreostarА на счёт вывода ощибок?
А где трейсбеки ошибок?
...
Рейтинг: 0 / 0
Python чтение json
    #39298984
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHook,

Я запускаю скрипты на сервере. Надо чтото в код скипта добавить чтоб видеть ощибки?
...
Рейтинг: 0 / 0
Python чтение json
    #39299037
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять надо догадываться.

Судя по
Код: python
1.
2.
print("Content-type: text/html");
print();



Это какой-то CGI. Как он запускается? Мы не знаем. Соответственно, не знаем как обрабатываются ошибки. Я вообще не знаю как принято их обрабатывать в CGI.

Но если файл считывается, ошибки наверное и не будет. Надо посмотреть инструментами браузера что именно возвращается. Наверное, содержимое файла в виде строки.
...
Рейтинг: 0 / 0
Python чтение json
    #39299056
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну с выводом ощибок разберусь попозже.

А сейчас вернёмся к json

Написал такjson_data=open(json_file)
data = json.load(json_data)
pprint(data)
json_data.close()

вроде распичатывает на экран json но когда обращаюсь на пример pprint(data[1])

Неполучаю ничего! тоесть это не список? кек перевести полученую инфу в список!
...
Рейтинг: 0 / 0
Python чтение json
    #39299069
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И опять надо догадываться. Что находится в загружаемом файле? Точно массив? Там же может быть что угодно. Например boolean:
Код: python
1.
2.
3.
4.
5.
>>> import json;
>>> d="true"
>>> s=json.loads(d)
>>> print(s)
True



Или объект:
Код: python
1.
2.
3.
4.
5.
>>> import json;
>>> d='{"q":"w"}'
>>> s=json.loads(d)
>>> print(s)
{'q': 'w'}
...
Рейтинг: 0 / 0
Python чтение json
    #39299106
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В файле находится вот что автор{"c": 0, "b": 0, "a": 0, "d": 1, "f":2, "j":5}

на экран принтом выводить получается! а вот как мне результат в спиок или словарь превратить???
...
Рейтинг: 0 / 0
Python чтение json
    #39299109
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Python чтение json
    #39299130
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AreostarВ файле находится вот что автор{"c": 0, "b": 0, "a": 0, "d": 1, "f":2, "j":5}

на экран принтом выводить получается! а вот как мне результат в спиок или словарь превратить???

После json.loads уже имеем объект. В нашем случае -- словарь. Поэтому не понятно почему ожидается что-то от этого:
Код: python
1.
print(data[1])



Словарь же, а не список. Попробуй так:
Код: python
1.
print(data["f"])



PS. Мне почему-то привычнее dict и sequence.
...
Рейтинг: 0 / 0
Python чтение json
    #39307982
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем вот что у меня получилось:

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
import json
from pprint import pprint

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

#pprint(data)

print(data["maps"][0]["id"]);
print(data["masks"]["id"]);
print(data["om_points"]);



Cам json Фаил выглядит так:

автор{
"maps": [
{
"id": "blabla",
"iscategorical": "0"
},
{
"id": "blabla",
"iscategorical": "0"
}
],
"masks": {
"id": "valore"
},
"om_points": "value",
"parameters": {
"id": "valore"
}
}
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python чтение json
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]