私の関数は、変数に割り当てた文字列値を返します。私はそれを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"]