我想从给定的URL获取json数据并且json数据我必须转换为xml形式

时间:2012-09-27 18:13:04

标签: python xml json parsing

我想从给定网址

获取JSON数据
http://www.deanclatworthy.com/imdb/?=The+Green+Mile

并将JSON数据转换为XML。我使用urllibjson将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/'}

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

现在你有一个可用的python字典,你必须把它写到xml。

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

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

答案 2 :(得分:0)

在ActiveState的配方页面(由Cory Fabre提供)上有一个非常有条目用于将python dict转换为XML和从XML转换。我最近一直在使用它,它看起来效果很好。这是链接:

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

如果您足够幸运,您的JSON结构可以很好地映射到XML结构,那么这将非常有用。