Конвертировать JSON в объект Python: как обработать преобразование DateTime? - PullRequest
3 голосов
/ 03 декабря 2011

У меня есть консольное приложение C #, которое сериализует класс POCO в строку JSON; Я использую JSON.Net для сериализации.

JSON из этого приложения выгружается в файл и считывается скриптом Python 2.7.

Вот проблема. Сериализация JSON берет все свойства datetime в моем классе и преобразует их в этот формат:

/Date(1322856016353-0500)/

Когда я использую json.parse; Я получаю эквивалент моего оригинального класса в Python; за исключением того, что все свойства DateTime теперь являются строками, содержащими "/ Date (1322856016353-0500) /" вместо полей даты и времени Python.

Похоже, мне нужно вручную разобрать время из строки и вручную создать объект datetime. Прежде чем я это сделаю; Есть лучший способ сделать это? Возможно, я мог бы сериализовать свойства DateTime в JSON в другом формате? Или использовать другой анализатор Python JSON?

Любой конструктивный вклад приветствуется.

Спасибо, Frank

1 Ответ

3 голосов
/ 03 декабря 2011

Вы можете указать желаемый формат.Попробуйте что-то вроде этого:

DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S'

До сериализации: time = datetime.strftime(time, DATETIME_FORMAT)

После десериализации: time = datetime.strptime(time, DATETIME_FORMAT)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...