4

我想从给定的 url 获取 JSON 数据

http://www.deanclatworthy.com/imdb/?=The+Green+Mile

并将 JSON 数据转换为 XML。我已经使用urllibandjson将 JSON 对象转换为 python 字典。

这是我的代码:

import json

json_string = '{"imdbid":"tt0120689","imdburl":"http:\/\/www.imdb.com\/title\/tt0120689\/","genres":"Crime,Drama,Fantasy,Mystery","languages":"English ,French","country":"USA","votes":"281023","stv":0,"series":0,"rating":"8.4","title":"The Green Mile","year":"1999","usascreens":2875,"ukscreens":340}'

new_python_object = json.loads(json_string)
print(json_string)
print()
print (new_python_object)

结果:

{"imdbid":"tt0120689","imdburl":"http:\/\/www.imdb.com\/title\/tt0120689\/","genres":"Crime,Drama,Fantasy,Mystery","languages":"English ,French","country":"USA","votes":"281023","stv":0,"series":0,"rating":"8.4","title":"The Green Mile","year":"1999","usascreens":2875,"ukscreens":340}

{'ukscreens': 340, 'rating': '8.4', 'genres': 'Crime,Drama,Fantasy,Mystery', 'title': 'The Green Mile', 'series': 0, 'imdbid': 'tt0120689', 'year': '1999', 'votes': '281023', 'languages': 'English ,French', 'stv': 0, 'country': 'USA', 'usascreens': 2875, 'imdburl': 'http://www.imdb.com/title/tt0120689/'}
4

3 回答 3

1

使用requestsdict2xml库:

>>> import requests
>>> r = requests.get("http://www.deanclatworthy.com/imdb/?q=The+Green+Mile")
>>> import dict2xml
>>> xml = dict2xml.dict2xml(r.json)
>>> print xml
<country>USA</country>
<genres>Crime,Drama,Fantasy,Mystery</genres>
<imdbid>tt0120689</imdbid>
<imdburl>http://www.imdb.com/title/tt0120689/</imdburl>
<languages>English,French</languages>
<rating>8.5</rating>
<runtime>189min</runtime>
<series>0</series>
<stv>0</stv>
<title>The Green Mile</title>
<ukscreens>340</ukscreens>
<usascreens>2875</usascreens>
<votes>344054</votes>
<year>1999</year>
于 2012-09-27T21:13:28.267 回答
0

ActiveState 的食谱页面上有一个非常条目(由 Cory Fabre 编写),用于将 python 字典转换为 XML 和从 XML 转换。我最近一直在使用它,它似乎工作得很好。链接在这里:

http://code.activestate.com/recipes/573463-converting-xml-to-dictionary-and-back/

如果您足够幸运,您的 JSON 结构可以很好地映射到 XML 结构,这可能会很有用。

于 2012-09-27T19:25:23.083 回答
0

现在您有了一个可用的 python 字典,您必须将它写入 xml。

你的 xml 格式是什么样的?Python 在标准库中提供了一些用于编写/使用 xml 的工具。http://docs.python.org/library/xml.dom.minidom.html

编写将需要一些努力,因为 python 不知道您的 xml 文档的结构。一点谷歌研究可以有很长的路要走。

于 2012-09-27T18:24:03.427 回答