调用API
和文档数据库会返回嵌套的JSON
对象,当我们使用Python
尝试将嵌套结构中的键转换为列时,数据加载到pandas
中往往会得到如下结果:
df = pd.DataFrame.from_records(results [“ issues”],columns = [“ key”,“ fields”])
说明:这里results
是一个大的字典,issues
是results
其中的一个键,issues
的值为一个嵌套JSON
对象字典的列表,后面会看到JSON
嵌套结构。
问题在于API
返回了嵌套的JSON
结构,而我们关心的键在对象中确处于不同级别。
嵌套的JSON
结构张成这样的。
而我们想要的是下面这样的。
下面以一个API
返回的数据为例,API
通常包含有关字段的元数据。假设下面这些是我们想要的字段。
key:JSON密钥,在第一级的位置。
summary:第二级的“字段”对象。
status name:第三级位置。
statusCategory name:位于第4个嵌套级别。
如上,我们选择要提取的字段在issues
列表内的JSON
结构中分别处于4个不同的嵌套级别,一环扣一环。
{
"expand": "schema,names",
"issues": [
{
"fields": {
"issuetype": {
"avatarId": 10300,
&#