1. ホーム
  2. python

[解決済み] python JSONは最初のレベルのキーしか取得しない

2023-02-21 16:15:15

質問

非常に長く複雑なjsonオブジェクトを持っていますが、最初のレベルのアイテム/キーだけを取得したいのです!

例を挙げます。

{
    "1": "a", 
    "3": "b", 
    "8": {
        "12": "c", 
        "25": "d"
    }
}

私は 1,3,8 を結果的に取得したい。

こんなコードがありました。

for key, value in data.iteritems():
    print key, value

しかし、これはすべてのキーを表示します(また 12と25 )

どのように解決するのですか?

単純に .keys()

>>> dct = {
...     "1": "a", 
...     "3": "b", 
...     "8": {
...         "12": "c", 
...         "25": "d"
...     }
... }
>>> 
>>> dct.keys()
['1', '8', '3']
>>> for key in dct.keys(): print key
...
1
8
3
>>>

ソートされたリストが必要な場合。

keylist = dct.keys()
keylist.sort()