iT邦幫忙

1

python 搜尋 json 中的 字串(已解決)

饅頭 2017-05-26 11:30:4612661 瀏覽

目的是想要統計參與度
所以抓網頁資訊分析
會想要抓特定字是因為每一次的參與人數不一定
json的資料裡沒有提供參與人數的資料
我不知道要怎麼設一個底線的數字

	"participants": [
		{
			"role": "PARTICIPANT",
			"type": "participant",
			"user": {
				"username": "A",
				"display_name": "A",
				"type": "user",

			},
		},
       	{
			"role": "PARTICIPANT",
			"type": "participant",
			"user": {
				"username": "B",
				"display_name": "B",
				"type": "user",

			},
		},
        ]

我是想要抓特定字 "role": "PARTICIPANT" 這樣就可以知道有多少人
還是有方法可以知道 "participants": [] 裡有多少個 {} 呢?
像上片貼的資料 [] 裡就有兩個 {} 我就可以知道有兩個人參與

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

3
froce
iT邦大師 1 級 ‧ 2017-05-26 20:11:11
最佳解答
  1. 先接成 python 的 list 和 dict。
    可以參考這篇:http://python3-cookbook.readthedocs.io/zh_CN/latest/c06/p02_read-write_json_data.html
  2. 然後 len("this_dict"['participants']) ,就可以算出 participants 這個list裡面元素的個數

範例code,先把你的例子存成data.json,然後放在跟py同一個目錄下:

import json
import os

base_dir = os.path.dirname(os.path.abspath(__file__))
with open(os.path.join(base_dir, 'data.json'), 'r') as f:
    data = json.load(f)

print(len(data['participants']))

另外你的json有多餘的逗號,可能會有問題。

饅頭 iT邦新手 4 級 ‧ 2017-09-06 09:25:57 檢舉

謝謝!!

我要發表回答

立即登入回答