Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengakses Data JSON Bersarang dengan Dokumen JSON Terbenam sebagai Rentetan?

Bagaimana untuk Mengakses Data JSON Bersarang dengan Dokumen JSON Terbenam sebagai Rentetan?

DDD
Lepaskan: 2024-11-28 16:03:11
asal
471 orang telah melayarinya

How to Access Nested JSON Data with Embedded JSON Documents as Strings?

Cara Mengakses Data JSON Bersarang dengan Dokumen JSON Terbenam

Semasa menghuraikan data JSON yang kompleks, anda mungkin menemui dokumen JSON terbenam sebagai rentetan dalam struktur JSON utama. Untuk mengakses kandungan dokumen terbenam ini, ikuti langkah berikut:

Masalah:

Pertimbangkan struktur JSON berikut:

{
"status": "200",
"msg": "",
"data": {

"time": "1515580011",
"video_info": [
  {
      "announcement": "{\n\t\"announcement_id\":\"6\",\n\t\"name\":\"INS\u8d26\u53f7\",\n\t\"icon\":\"http:\\/\\/liveme.cms.ksmobile.net\\/live\\/announcement\\/2017-08-18_19:44:54\\/ins.png\",\n\t\"icon_new\":\"http:\\/\\/liveme.cms.ksmobile.net\\/live\\/announcement\\/2017-10-20_22:24:38\\/4.png\",\n\t\"videoid\":\"15154610218328614178\",\n\t\"content\":\"FOLLOW ME PLEASE\",\n\t\"x_coordinate\":\"0.22\",\n\t\"y_coordinate\":\"0.23\"}\n",
      "announcement_shop": ""
  }
]
Salin selepas log masuk

}
}

Untuk mengakses nilai "kandungan" dokumen JSON terbenam dalam "pengumuman," anda boleh mencuba sesuatu seperti:

replay_data = raw_replay_data'data'[0]<br>pengumuman = replay_data['announcement']

Walau bagaimanapun, pengumuman kini merupakan rentetan yang mewakili lebih banyak data JSON dan pengumuman pengindeksan ['kandungan'] hasil dalam TypeError kerana rentetan yang tidak sah indeks.

Penyelesaian:

Untuk mengakses rentetan yang dikehendaki dengan betul, gunakan langkah berikut:

  1. Import modul json :

import json

  1. Muatkan dokumen JSON terbenam sebagai kamus Python:

announcement_dict = json.loads(pengumuman)

  1. Akses kekunci yang dikehendaki dalam kamus yang dimuatkan:

desired_content = announcement_dict['content']

Dalam kes ini, desired_content akan mengandungi rentetan "IKUTI SAYA."

Penjelasan Mendalam:

Untuk menavigasi struktur JSON yang kompleks, adalah penting untuk "memandang data anda" dan kenal pasti laluan ke nilai sasaran.

  1. Kenal pasti laluan: Dalam contoh kami, laluan ke nilai "kandungan" ialah:
  • data
  • video_info (senarai)
  • Kamus pertama dalam senarai
  • pengumuman (rentetan mewakili JSON)
  • kandungan (dalam JSON yang dimuatkan)
  1. Turun melalui laluan :
  • Mulakan dengan data = data['data'].
  • Gunakan pengindeksan senarai untuk mengakses kamus pertama dalam video_info.
  • Tetapkan nilai pengumuman kepada pembolehubah.
  • Muatkan rentetan JSON yang disimpan dalam pengumuman menggunakan json.loads().
  • Akses nilai yang diingini dalam yang dimuatkan kamus.

Dengan mengikuti pendekatan ini, anda boleh mengakses dan memanipulasi data bersarang dengan cekap dalam struktur JSON yang kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Data JSON Bersarang dengan Dokumen JSON Terbenam sebagai Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan