反序列化Python/Djang中的JSON日期字段

2024-09-30 06:29:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将一个网络爬虫应用程序从.Net移植到Python。它接收类似于以下内容的json响应:

[
  {
    "Code": "AAA",
    "Date": "/Date(1481875200000)/",
    "Value": 12345.00
  }
]

这很容易被newtonsoftjson反序列化。然而,我似乎不能用Python内置的Json解码器反序列化它

^{pr2}$

这给了

ValidationError: [u"'/Date(1481875200000)/' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]

编辑:现在我知道这是因为给日期时间字段分配了一个字符串

有没有办法尝试将这些数据解析到django模型?-因为我无法修改json响应。这样做对吗?因为代码对我来说似乎很难理解。在


Tags: 网络json应用程序formatdatenet序列化value
1条回答
网友
1楼 · 发布于 2024-09-30 06:29:24

您需要为“日期”字段实现一个自定义解码器。在

import json
from datetime import datetime

def parseMyData(dct):
    if 'Date' in dct:
        timestamp = int(dct['Date'][6:-2])
        dct['Date'] = datetime.fromtimestamp(timestamp)
    return dct


jdata = '''{
"Code": "AAA",
"Date": "/Date(14818752000)/",
"Value": 12345.00
}
'''

json.loads(jdata,  object_hook=parseMyData)

和回报

^{pr2}$

相关问题 更多 >

    热门问题