ホームページ >バックエンド開発 >Python チュートリアル >埋め込まれた JSON ドキュメントを文字列として含むネストされた JSON データにアクセスするにはどうすればよいですか?
埋め込まれた JSON ドキュメントを使用してネストされた JSON データにアクセスする方法
複雑な JSON データを解析しているときに、埋め込まれた JSON ドキュメントが、プライマリ JSON 構造。これらの埋め込みドキュメントのコンテンツにアクセスするには、次の手順に従います。
問題:
次の JSON 構造を考えてみましょう:
{ <br> "ステータス": "200"、<br> "メッセージ": "",<br> "data": {</p> <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 の "content" 値にアクセスするには「アナウンス」内のドキュメントでは、次のようなことを試みることができます:
replay_data = raw_replay_data'data'[0]<br>payment =replay_data['payment']
ただし、アナウンスメントはより多くの JSON データを表す文字列になり、アナウンスメント['content'] の結果にインデックスが付けられます。無効な文字列による TypeError
解決策:
目的の文字列に正しくアクセスするには、次の手順を実行します。
import json
payment_dict = json.loads(payment)
desired_content = Notice_dict['content']
この場合、desired_content には文字列「FOLLOW ME PLEASE」が含まれます。
詳細な説明:
複雑な JSON 構造をナビゲートするには、「データを見つめ」てパスを特定することが重要です
- data
- video_info (リスト)
- Firstリスト内の辞書
- アナウンスメント (JSON を表す文字列)
- コンテンツ (ロードされた JSON 内)
このアプローチに従うことで、複雑な JSON 構造内のネストされたデータに効率的にアクセスして操作できます。
以上が埋め込まれた JSON ドキュメントを文字列として含むネストされた JSON データにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。