Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 3, 2016 08:31:05

metotron
Зарегистрирован: 2015-08-20
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсинг json в объект как правильно сделать

Привет!
Имеем json получаемый в response вида:

{
"name":"Arnold",
"lastName":"Schwarznegggger",
"parents":
{
"mather": "mather Schwarznegggger",
"father":"father Schwarznegggger"
},
"movies": ["Terminator1","Terminator2","Terminator3"],
"friends":[{"Director":"J.Cameron"},{"dog":"Nugget"}]
}
Стоит зада - верифицировать значения полей по критериям: тип данных, Not Null, значение (сравнивается с датой получаемой из DB или иных источников.
Так как мы знаем все варианты полей которые могут присутствовать в json считаю, что правильнее всего создать объект в который распарсить этот json
что то типа (пример на C#)
public class SuperStar
{
public SuperStar(string json)
{
JObject jUser = JObject.Parse(json);
name = (string) jUser["name"];
lastName= (string) jUser["lastName"];
movies= jUser["movies"].ToArray();
}

public string name { get; set; }
public string lastName { get; set; }
public Array movies{ get; set; }
}

Как правильнее это сделать “по питоняшному”
Спасибо

Офлайн

#2 Ноя. 3, 2016 08:52:57

ayb
Зарегистрирован: 2014-04-01
Сообщения: 297
Репутация: +  24  -
Профиль   Отправить e-mail  

Парсинг json в объект как правильно сделать

Офлайн

#3 Ноя. 3, 2016 09:02:05

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Парсинг json в объект как правильно сделать

У меня на миниязыке описываются структуры и их связи. Несколько процедур импрота/экспорта из/в форматы руководствуются данными из этих описаний.

Офлайн

#4 Ноя. 3, 2016 09:53:48

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Парсинг json в объект как правильно сделать

Поддерживаю. Трафарет и еще раз трафарет.

Офлайн

#5 Ноя. 3, 2016 11:17:53

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Парсинг json в объект как правильно сделать

Если проще, то может подойти jsonschema



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#6 Ноя. 3, 2016 11:23:18

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Парсинг json в объект как правильно сделать

JOHN_16
Трафарет просто универсальный механизм. Он подойдет для всего. Выучив его раз можно валидировать все, что угодно. А вот с jsonshemma такой фокус не пройдет

Офлайн

#7 Ноя. 3, 2016 19:50:10

Stright
От: Кострома
Зарегистрирован: 2015-01-20
Сообщения: 139
Репутация: +  16  -
Профиль   Отправить e-mail  

Парсинг json в объект как правильно сделать

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version