Pas sûr d'arriver à expliquer
ce que tu affiches provient d'un json.encode(), donc c'est une chaine de caractères.
Et donc ne peut pas être utilisée en tant que table.
si tu veux utiliser le même style de syntaxe, il faut alors écrire ta table sous forme de chaine et ensuite faire un json.decode().
mais c'est pas agréable à utiliser... (avis perso)
Ce que j'ai posté est la même chose sous forme de table et non de chaine.
copie/colle c'est exemple et regarde le debug, tu as les 2 manières d'écrire :
--à partir d'une table
resp = {{deviceType=0, nukiId=1, name="Entrée1"},
{deviceType=0, nukiId=184981569, name="Entrée"},
{deviceType=0, nukiId=3, name="Entrée3"}}
print("point de départ en table :", resp)
print("on l'utilise comme une table : ", resp[1].name)
resp = json.encode(resp) --on transforme en string
print("transformé en chaine : ", resp)
print('****************************************************')
--à partir d'une string
resp = '[{"deviceType": 0, "nukiId": 1, "name": "Entrée1"}, {"deviceType": 0, "nukiId": 184981569, "name": "Entrée"}, {"deviceType": 0, "nukiId": 3, "name": "Entrée3"}]'
print("point de départ en chaine : ", resp)
resp = json.decode(resp) --on transforme en table
print("transformé en table : ", resp)
print("on l'utilise comme une table : ", resp[1].name)