首頁 > 後端開發 > Python教學 > 如何使用嵌入式 JSON 文件作為字串存取巢狀 JSON 資料?

如何使用嵌入式 JSON 文件作為字串存取巢狀 JSON 資料?

DDD
發布: 2024-11-28 16:03:11
原創
472 人瀏覽過

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

如何使用嵌入的JSON 文件存取巢狀JSON 資料

在解析複雜的JSON 資料時,您可能會遇到嵌入的JSON 文件作為字串內的字串主要JSON 結構。要存取這些嵌入文件的內容,請按照以下步驟操作:

問題:

考慮以下JSON 結構:

{ <br>“狀態”:“200”,<br>“訊息”: "",<br> "data": {<pre class="brush:php;toolbar:false">"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": ""
  }
]
登入後複製

}
}

存取嵌入JSON 的「內容」值在「公告」中的文件中,您可以嘗試以下操作:

replay_data = raw_replay_data'data'[0]<br>announcement = replay_data['announcement']
登入後複製

但是,announcement 現在是表示更多 JSON 資料的字串,並索引announcement['content']結果因無效字串而出現類型錯誤

解決方案:

要正確存取所需的字串,請使用以下步驟:

  1. 導入json模組:

導入json

  1. 將嵌入的JSON 文件載入為Python 字典:
  2. 將嵌入的JSON 文件載入為Python 字典:

    announcement_dict = json.loads(announcement)
    登入後複製
  1. 在載入的字典中存取所需的鍵:

desired_content =<p><strong><pre class="brush:php;toolbar:false">desired_content = announcement_dict['content']
登入後複製

在此在這種情況下,desired_content 將包含字串「FOLLOW ME PLEASE.」

    深入說明:
  1. 要導航複雜的JSON 結構,「盯著您的資料」至關重要"並確定目標值的路徑。 >
  2. data
video_info(列表)
  • 清單中的第一個字典
  • 公告(代表的字串JSON)
  • 內容(在載入的JSON 內)
沿路徑下降:
  1. 從 data = data['data'] 開始。
將公告的值指派給變數。
  • 使用 json.loads() 載入儲存在公告中的 JSON 字串。
  • 在載入的字典中存取所需的值。
  • 遵循此方法,您可以有效地存取和操作複雜的巢狀資料JSON 結構。

以上是如何使用嵌入式 JSON 文件作為字串存取巢狀 JSON 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板