2017-01-28 5 views
-1

Я пытаюсь сделать код в C:\Python26\python.exe C:/Users/arvind.kumar/Downloads/__Test__.pyпитона JSON добавляющим ошибку

Traceback (most recent call last): 
    File "C:/Users/arvind.kumar/Downloads/__Test__.py", line 16, in <module> 
    info.append(j['host']['username'] ['host']['client_ipaddress']) 
AttributeError: 'dict' object has no attribute 'append' 

Process finished with exit code 1 
+0

Где ваш код и каков ваш вопрос? – DyZ

+0

@Aditya, вы решили? – Giordano

ответ

0

В строке 16, вы обнаружите, что вы пытались использовать атрибут, который не существует на объекте Dict. Это, насколько я могу судить, из предоставленной вами информации.

0

info является dict поэтому у него нет метода append(). Таким образом, вы можете инициализировать info как list. Например:

info = [] 
+0

да, но есть кое-что, как и добавить в JSON мой код: ------> импорт JSON данных = { «код»: «001», «хозяин»: { «имя пользователя» : "Эрвинд", "client_ipaddress": "192.168.10.108" }, "сообщение": "Hello World", "send_to_ipaddress": "192.168.10.108" } Информация о = {} data1 = JSON .dumps (data) j = json.loads (data1) info.append (j ['host'] ['username'] ['host'] ['client_ipaddress']) if j ['code'] == '001': print ("Rece ived информация о клиенте ") elif j ['code'] == '002': print (" Получено сообщение для отправки ") – Aditya

+0

@Aditya нет. Вам нужно установить значение для ключа в dict 'info [key] = value'. Пожалуйста, разместите свой код правильно (с отступом) в вопросе, чтобы мы могли помочь вам в дальнейшем –

0

Метод append() касается списков, так что вы можете использовать, что в подобной ситуации:

example_list = [] 
example_list.append(1) 

Таким образом, вы добавляете значение в example_list.
Вместо этого, если вы хотите добавить пару ключ-значение в dict, вы должны сделать следующее.

example_dict = {} 
example_dict['key']=1 

При этом, вы получите следующий результат

{'key': 1} 

Так что ваш код поднимает Attribute error, потому что в этой строке

info.append(j['host']['username'] ['host']['client_ipaddress']) 

вы пытаетесь использовать метод на добавление с Dict.
Чтобы исправить эту ошибку, вы должны сделать следующим образом:

info[j['host']['username']] = j['host']['client_ipaddress'] 

 Смежные вопросы

  • Нет связанных вопросов^_^