2023年7月3日 星期一

練習-XML轉成JSON格式字串

 json.dumps(data)

他接受一個物件(字典或列表) 轉換成 JSON格式字串

json.dump(data,file)

他接受兩個物件,一個(字典或列表)和一個檔案物件 將資料寫入指定檔案

json.loads(json_data)

用於將JSON格式字串解析為對應的Python物件,
他接受一個JSON格式字串作為參數,返回對應的Python物件

json.load(file)

從檔案中讀取JSON格式的資料並解析為對應的Python物件
他接受一個可讀取的檔案物件作為參數,並返回對應的Python物件


<students>
    <student>
        <name>John Doe</name>
        <age>20</age>
        <grade>A</grade>
    </student>
    <student>
        <name>Jane Smith</name>
        <age>19</age>
        <grade>B</grade>
    </student>
</students>



import json
import xml.etree.ElementTree as et
#創造空樹
tree=et.ElementTree(file='students.xml')
#取出根元素
root=tree.getroot()
students=[] #初始化list
for student in root:
    name=student.find('name').text  
    #找出student標籤中的子標籤是name的字串
   
    age=student.find('age').text    
    #找出student標籤中的子標籤是age的字串
   
    grade=student.find('grade').text
    #找出student標籤中的子標籤是grade的字串
   
    student_data={'name':name,'age':age,'grade':grade} #學生資料字典
    students.append(student_data) #將字典存入list中



student_json=json.dumps(students)  
#json.dumps()接受一個物件(dict or list)轉成JSON格式字串
print(student_json)

----------------終端機
[{"name": "John Doe", "age": "20", "grade": "A"}, {"name": "Jane Smith", "age": "19", "grade": "B"}]















標籤:

0 個意見:

張貼留言

訂閱 張貼留言 [Atom]

<< 首頁