2017-03-20 6 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を取得する必要があります。私はPythonの辞書にJSONに変換し、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 
関連する問題