/ / Come restituire / stampare un valore particolare da json usando python - json, python-2.7

Come restituire / stampare un valore particolare da json usando python - json, python-2.7

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 № 1

Il 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"]