如何在Python WSGI应用中读取Json对象
我需要开发一个用Python(版本2.7)写的WSGI应用程序,用来接收和解析从其他网站发送过来的JSON格式的数据。
下面是一个示例JSON对象的格式。
{
"BuildId":"4c53575f-36f48a7f1f37",
"EventId":1,
"EventName":"Archiving Complete",
"EventDescription":"Fired each time the build products finish unzipping on an archive server after a successful build.",
"ConfigurationId":2021,
[
{
"archive_server":"CA",
"ftp":"ftp://ABC.com/2011_V2/ccoderre_build_dev_build/2011.4.103.002",
"dfs":"\\\\ABD.com\\ccoderre_build_dev_build\\2011.4.103.002"
}
],
"Changelists":
[
{
"author":"mike",
"description":"integrating from mainline\n",
"number":1233242,
"status":"OK",
"submit_time":"\/Date(1305844615000)\/"
}
],
"InheritedChangelists":[],
"CustomEventInfo":
[
{
"Key":"ArchiveServer",
"Value":"buildfsct"
},
{
"Key":"HasSymbols",
"Value":0
}
]
}
我该如何使用WSGI来获取(读取)“BuildId”、“ConfigurationId”、“ftp”等信息呢?有没有人能帮我一下?提前谢谢大家!
1 个回答
13
使用标准库中的 json
库 来解析数据,结果会变成一个 Python 字典:
def application(environ, start_response):
try:
request_body_size = int(environ.get('CONTENT_LENGTH', 0))
except (ValueError):
request_body_size = 0
request_body = environ['wsgi.input'].read(request_body_size)
data = json.loads(request_body)
build_id = data['BuildId']
# etc.