La mia funzione restituisce un valore stringa che ho assegnato alle variabili. Lo sto convertendo in JSON e voglio restituire il valore di "printer_id"
Codice :
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]
Aggiunte le parentesi graffe, Test eseguito correttamente ora, Output: =========================== 1 passato in 0,01 secondi ====== ===================== Processo terminato con codice di uscita 0
risposte:
0 per risposta № 1Il json decodificato sarà un dizionario, puoi fare riferimento direttamente alle sue chiavi:
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"]