2015-03-13 29 views
0

RDF/XML文件,我試圖挽救這個JSON對象:JSON來在Python

[ 
{ 
    "patient_id": "59b70b0e-51cb-4215-b65a-db470067c8de" 
}, 
[ 
    { 
     "tel_1_preferred_p": true, 
     "adr_region": "OK", 
     "tel_2_number": "800-979-6786", 
     "__modelname__": "Demographics", 
     "adr_city": "Bixby", 
     "ethnicity": null, 
     "adr_postalcode": "74008", 
     "name_family": "John", 
     "name_middle": null, 
     "tel_1_type": "h", 
     "tel_2_type": "c", 
     "name_prefix": null, 
     "email": "[email protected]", 
     "name_given": "Smith", 
     "adr_street": "23 Church Rd", 
     "bday": "1965-08-09", 
     "__documentid__": "65cd1101-b047-4ce5-afc0-778d033229ca", 
     "tel_1_number": "800-870-3011", 
     "preferred_language": "EN", 
     "gender": "male", 
     "name_suffix": null, 
     "tel_2_preferred_p": true, 
     "race": null, 
     "adr_country": "USA" 
    } 
], 
[ 
    { 
     "startDate": "2014-10-02T00:00:00Z", 
     "name_identifier": "195967001", 
     "name_system": null, 
     "notes": "None", 
     "name_title": "Asthma", 
     "__modelname__": "Problem", 
     "endDate": "2014-10-13T00:00:00Z", 
     "__documentid__": "eaba4e92-3aaf-4d8c-a7db-8cfd563290c6" 
    }, 
    { 
     "startDate": "2014-12-02T00:00:00Z", 
     "name_identifier": "161155000", 
     "name_system": null, 
     "notes": "None", 
     "name_title": "School problem (finding)", 
     "__modelname__": "Problem", 
     "endDate": "2014-12-14T00:00:00Z", 
     "__documentid__": "3058b12d-434d-48da-8b14-05dd485946cb" 
    }, 
    { 
     "startDate": "2008-07-29T00:00:00Z", 
     "name_identifier": "185903001", 
     "name_system": "http://purl.bioontology.org/ontology/SNOMEDCT/", 
     "notes": null, 
     "name_title": "Needs influenza immunization", 
     "__modelname__": "Problem", 
     "endDate": "2010-09-13T00:00:00Z", 
     "__documentid__": "d982c117-43c3-407f-bd9e-27dc59008938" 
    } 
], 
[ 
    { 
     "name": "Amputation of the foot (procedure)", 
     "comments": null, 
     "provider_institution": null, 
     "date_performed": "2014-10-22T00:00:00Z", 
     "name_value": "None", 
     "__modelname__": "Procedure", 
     "__documentid__": "221df5bd-16a8-4763-9827-06fb305b91e5", 
     "provider_name": null, 
     "name_abbrev": "180030006", 
     "name_type": "http://purl.bioontology.org/ontology/SNOMEDCT/", 
     "location": null 
    } 
] 

]

在Python代碼中的XML文件或RDF。我沒有找到關於rdf的文章,所以我嘗試了XML。我也試着更改列表與dict喜歡在這個崗位:

Python Json loads() returning string instead of dictionary?

,但它無法正常工作。在views.py中我有:

fileroot = '[{"patient_id":"'+record_id+'"},'+content0+','+content1+','+content2+']' 
jsonData = simplejson.loads(fileroot) 

它返回'list'對象沒有屬性'items'。如果我將其更改爲:

fileroot = '[{"patient_id":"'+record_id+'"},'+content0+','+content1+','+content2+']' 
jsonData = simplejson.loads(fileroot)[0] 

它不返回任何內容。 我也從這個鏈接的嘗試:

https://www.safaribooksonline.com/library/view/python-cookbook-3rd/9781449357337/ch06s05.html

但它不工作了。

+0

什麼問題了嗎?你的json文件在我的控制檯中工作。 – Aaron 2015-03-13 11:14:10

+0

我無法將其轉換爲XML或RDF並保存 – 2015-03-13 12:17:05

回答

1

這將tranlsate您的JSON對象到XML

import simplejson 
content = simplejson.loads(YourJsonObject) 


from xml.etree.ElementTree import Element 
from xml.etree.ElementTree import tostring 

def dict_to_xml(tag, d): 
    ''' 
    Turn a simple dict of key/value pairs into XML 
    ''' 
    elem = Element(tag) 
    for key, val in d.items(): 
     child = Element(key) 
     child.text = str(val) 
     elem.append(child) 
    return elem 

for i in range(1,len(content)): 
    e = dict_to_xml('SomeNode',content[i][0]) 

    # print e 
    print tostring(e)