2017-03-20 65 views
0
folders_list = { 
    "folders": [{ 
    "id": "866699", 
    "name": "Folder1", 
    "files_count": 0, 
    "size": "0", 
    "has_sub": false 
    }, { 
    "id": "866697", 
    "name": "Folder2", 
    "files_count": 0, 
    "size": "0", 
    "has_sub": false 
    }] 

我需要知道文件夹名称的文件夹ID。我认为我可以在JSON转换为一个Python字典,做Python - 通过其他值访问Json值

folder_id = [f['id'] for f in folders_list if f['name'] == 'Folder2'][0] 

但是Python并不让我将它转换成一个字典,因为它不承认“真”与“假”值。

回答

1

json库可以在数据处理falsetrue

import json 

json_str = """ 
{ 
    "folders": [{ 
    "id": "866699", 
    "name": "Folder1", 
    "files_count": 0, 
    "size": "0", 
    "has_sub": false 
    }, { 
    "id": "866697", 
    "name": "Folder2", 
    "files_count": 0, 
    "size": "0", 
    "has_sub": false 
    }] 
} 
""" 

data = json.loads(json_str) 
folders_list = data['folders'] 
folder_id = [f['id'] for f in folders_list if f['name'] == 'Folder2'][0] 
print "folder_id = %s" % folder_id 

输出

folder_id = 866697