我见过很多项目使用simplejson模块而不是json标准库中的模块.此外,还有许多不同的simplejson模块.为什么要使用这些替代品,而不是标准库中的替代品?
我已经在网上看到了很多笨拙的XML-> JSON代码,并且与Stack的用户进行了一些交互,我相信这些人群可以比谷歌搜索结果的前几页更有用.
因此,我们正在解析天气预报,我们需要在众多网站上填充天气小部件.我们现在正在研究基于Python的解决方案.
这个public weather.com RSS提要是我们要解析的一个很好的例子(我们的实际weather.com提要包含其他信息,因为它们与他们合作).
简而言之,我们应该如何使用Python将XML转换为JSON?
我有一个XML文件,格式如下:
<doc>
<id name="X">
<type name="A">
<min val="100" id="80"/>
<max val="200" id="90"/>
</type>
<type name="B">
<min val="100" id="20"/>
<max val="20" id="90"/>
</type>
</id>
<type...>
</type>
</doc>
Run Code Online (Sandbox Code Playgroud)
我想解析这个文档并构建一个哈希表
{X: {"A": [(100,80), (200,90)], "B": [(100,20), (20,90)]}, Y: .....}
Run Code Online (Sandbox Code Playgroud)
我将如何在Python中执行此操作?
我下面有XML,我已经保存在名为movies.xml的文件中。我只需要将某些值转换为JSON。对于直接转换,我可以使用xmltodict。我正在使用etree和etree.XMLParser()。我尝试在此之后进行弹性搜索。我已经使用attrib方法成功提取了单个节点。
<?xml version="1.0" encoding="UTF-8" ?>
<collection>
<genre category="Action">
<decade years="1980s">
<movie favorite="True" title="Indiana Jones: The raiders of the lost Ark">
<format multiple="No">DVD</format>
<year>1981</year>
<rating>PG</rating>
<description>
'Archaeologist and adventurer Indiana Jones
is hired by the U.S. government to find the Ark of the
Covenant before the Nazis.'
</description>
</movie>
<movie favorite="True" title="THE KARATE KID">
<format multiple="Yes">DVD,Online</format>
<year>1984</year>
<rating>PG</rating>
<description>None provided.</description>
</movie>
<movie favorite="False" title="Back 2 the Future">
<format multiple="False">Blu-ray</format>
<year>1985</year>
<rating>PG</rating>
<description>Marty McFly</description>
</movie>
</decade>
<decade years="1990s">
<movie favorite="False" title="X-Men">
<format …Run Code Online (Sandbox Code Playgroud) 可能重复:
使用Python将XML转换为JSON?
我正在导入XML feed并尝试将其转换为JSON以进行输出.我收到这个错误:
TypeError: <xml.dom.minidom.Document instance at 0x72787d8> is not JSON serializable
不幸的是,我对Python几乎一无所知.我正在Google App Engine上开发这个.我可以使用一些帮助,因为我正在进行的那个小小的2小时黑客现在正处于第3天.
XML数据:
<?xml version="1.0" ?><eveapi version="2">
<currentTime>2009-01-25 15:03:27</currentTime>
<result>
<rowset columns="name,characterID,corporationName,corporationID" key="characterID" name="characters">
<row characterID="999999" corporationID="999999" corporationName="filler data" name="someName"/>
</rowset>
</result>
<cachedUntil>2009-01-25 15:04:55</cachedUntil>
</eveapi>
Run Code Online (Sandbox Code Playgroud)
我的代码:
class doproxy(webapp.RequestHandler):
def get(self):
apiurl = 'http://api.eve-online.com'
path = self.request.get('path');
type = self.request.get('type');
args = '&'+self.request.get('args');
#assemble api url
url = apiurl+path
#do GET request
if type == 'get':
result = urlfetch.fetch(url,'','get');
#do POST request
if type == 'post':
result …Run Code Online (Sandbox Code Playgroud)