如何在Python中将XML转换为JSON

Geu*_*uis -1 python xml json

可能重复:
使用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 = urlfetch.fetch(url,args,'post');   

    if result.status_code == 200:               
        dom = minidom.parseString( result.content ) #.encode( "utf-8" ) )
        dom2json = simplejson.dump(dom,"utf-8")
Run Code Online (Sandbox Code Playgroud)

dF.*_*dF. 9

我很快就认为Python可能是一种很好的语言,但是没有一个用户知道如何以清晰简洁的方式实际记录任何内容.

这个问题的态度无助于从这些相同的Python用户那里获得答案.

正如在相关问题的答案中所提到的,XML和JSON之间没有一对一的对应关系,因此无法自动完成转换.

文档中,simplejson您可以找到它能够序列化的类型列表,它们基本上是本机Python类型(dict,list,unicode,int,float,True/False,None).

因此,您必须创建仅包含这些类型的Python数据结构,然后您将提供这些类型simplejson.dump().