Home >Backend Development >Python Tutorial >How to Access Nested JSON Data with Embedded JSON Documents as Strings?
How to Access Nested JSON Data with Embedded JSON Documents
While parsing complex JSON data, you may encounter embedded JSON documents as strings within the primary JSON structure. To access the content of these embedded documents, follow these steps:
Problem:
Consider the following JSON structure:
{<br> "status": "200",<br> "msg": "",<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": "" } ]
}
}
To access the "content" value of the embedded JSON document within "announcement," you may attempt something like:
replay_data = raw_replay_data'data'[0]<br>announcement = replay_data['announcement']
However, announcement is now a string representing more JSON data, and indexing announcement['content'] results in a TypeError due to invalid string indices.
Solution:
To access the desired string correctly, use the following steps:
import json
announcement_dict = json.loads(announcement)
desired_content = announcement_dict['content']
In this case, desired_content will contain the string "FOLLOW ME PLEASE."
In-depth Explanation:
To navigate complex JSON structures, it's crucial to "stare at your data" and identify the path to the target value.
- data
- video_info (a list)
- First dictionary in the list
- announcement (a string representing JSON)
- content (within the loaded JSON)
By following this approach, you can efficiently access and manipulate nested data in complex JSON structures.
The above is the detailed content of How to Access Nested JSON Data with Embedded JSON Documents as Strings?. For more information, please follow other related articles on the PHP Chinese website!