iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
0
自我挑戰組

30天搞懂Python系列 第 6

[第06天]30天搞懂Python-JSON Parser

  • 分享至 

  • xImage
  •  

前言

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人閱讀和編寫。以下就介紹利用Python來實作解析JSON文件。

程式實作

JSON字串解析程式

import json
#json 的資料形式字串
strjson = '{"firstName": "Allen", "lastName":"Chen"}'
#轉換json
parsedJson = json.loads(strjson)
print(parsedJson['firstName'])

程式實作成果

https://ithelp.ithome.com.tw/upload/images/20200921/20107143zzVrpJLzEE.jpg

網址JSON解析程式

import json 
import pandas as pd
from urllib import request
#氣象局-鄉鎮天氣預報-台灣未來1週天氣預報
#https://opendata.cwb.gov.tw/dataset/statisticDays/F-D0047-091
url = 'https://opendata.cwb.gov.tw/fileapi/v1/opendataapi/F-D0047-091?Authorization=CWB-413ECD83-6DED-44E7-AEE1-0A75A6394562&downloadType=WEB&format=JSON'
data = request.urlopen(url).read().decode("utf-8")
print (json.loads(data))

程式實作成果

https://ithelp.ithome.com.tw/upload/images/20200921/20107143oWFwwVnUaU.jpg

使用orjson解析

為何使用 orjson

因為orjson較有效率,如下圖,各JSON Library之比較表。
https://ithelp.ithome.com.tw/upload/images/20200921/20107143AOayva04aG.jpg

安裝orjson

pip install --upgrade orjson

網址JSON解析程式

import orjson
from urllib import request
#氣象局-鄉鎮天氣預報-台灣未來1週天氣預報
#https://opendata.cwb.gov.tw/dataset/statisticDays/F-D0047-091
url = 'https://opendata.cwb.gov.tw/fileapi/v1/opendataapi/F-D0047-091?Authorization=CWB-413ECD83-6DED-44E7-AEE1-0A75A6394562&downloadType=WEB&format=JSON'
data = request.urlopen(url).read().decode("utf-8")
#序列化,轉成byte
print (orjson.dumps(data))

程式實作成果

https://ithelp.ithome.com.tw/upload/images/20200921/20107143WL79IhfNrv.jpg


上一篇
[第05天]30天搞懂Python-基本型態
下一篇
[第07天]30天搞懂Python-XML Parser
系列文
30天搞懂Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言