Saya sedang belajar membuat kode aplikasi menggunakan SLACK API dan Python 3. Ini memberikan objek respons JSON, hanya saja saya menemukan bahwa pengetahuan saya dalam pemahaman daftar/kamus sangat kurang. Saya benar-benar kesulitan mencari tahu cara kerja sintaksis untuk mengekstrak informasi tertentu dari objek JSON berikut:
"channels": [
{
"id": "C73HHT2TZ",
"name": "general",
"is_channel": true,
"created": 1465530333,
"creator": "V35HUT43C",
"is_archived": false,
"is_general": true,
"has_pins": false,
"is_member": true,
"last_read": "1467334012.000165",
"latest": {
"type": "message",
"user": "USLACKBOT",
"text": "Good bye. See you when you return...",
"ts": "1467334012.000165"
},
"unread_count": 0,
"unread_count_display": 0,
"members": [
"X95HUT43C",
"Ad5RQAAHZ",
"X45SY5VEH"
]
Pada objek JSON di atas, saya dapat mengambil seluruh dump 'Saluran' mentah menggunakan:
response = slack.rtm.start()
listening = response.body['channels']
for i in listening:
print(i)
Saya sudah mencoba ini juga tetapi tidak berhasil:
response = slack.rtm.start()
listening = response.body['channels'][0]
for i in listening:
print(i)
tapi ini hanya memberi saya hal berikut:
id
is_archived
is_general
purpose
name
is_channel
unread_count
members
has_pins
created
topic
creator
unread_count_display
latest
is_member
last_read code here
Saya semakin hangat, tapi sayangnya ini hanya berantakan dan saya benar-benar tidak bisa memikirkan cara untuk mengetahui cara mendapatkan info di jalur berikut:
'channels': > 'latest': > 'text': > dan pada akhirnya nilai 'text'
Bagaimana cara saya melakukan ini?
text = response.body['channels'][0]['latest']['text']
. JSON hanya menjadi daftar bersarang (array) dan kamus (objek). - person jonrsharpe   schedule 01.07.2016channels
pertama di daftar Anda, dan itu adalah kamus. Mengulangi kamus memberi Anda kuncinya, itulah sebabnya Anda melihat semuanya dicetak. - person Martijn Pieters   schedule 01.07.2016