/ / pythonを使用してjsonから特定の値を返す/印刷する方法-json、python-2.7

pythonを使ってjsonから特定の値を返す/印刷する方法 - json、python-2.7

私の関数は、変数に割り当てた文字列値を返します。私はそれをjsonに変換していますが、「printer_id」の値を返したいです

コード:

import json
def getprinterid():
s="""
{
"printer_config": {
"printer_id": "AQAAAAFhvL8CXQ",
"conn_config_url": "https://connectivity",
"printer_caps_url": "https://deviceconfig",
"cred_refresh_url": "https://registration"
}
,"cloud_config": {
"eprint_enabled": true,
"sips_enabled": true,
"mobile_print_enabled": true
}
}
"""

decodedinfo = json.loads(s)
for x in decodedinfo:
if x == "printer_config":
for y in decodedinfo[x]:
if y == "printer_id":
return decodedinfo[x][y]

中括弧を追加し、テストが正常に実行されました、出力:=========================== 0.01秒で1が渡されました====== ====================== プロセスは終了コード0で終了しました

回答:

回答№1は0

デコードされたjsonは辞書になります。キーを直接参照できます。

import json

def getprinterid():
s = """
{
"printer_config": {
"printer_id": "AQAAAAFhvL8CXQ",
"conn_config_url": "https://connectivity",
"printer_caps_url": "https://deviceconfig",
"cred_refresh_url": "https://registration"
}
,"cloud_config": {
"eprint_enabled": true,
"sips_enabled": true,
"mobile_print_enabled": true
}
}
"""

decoded = json.loads(s)
return decoded["printer_config"]["printer_id"]