Я думаю, что вижу вашу проблему, пожалуйста, дайте мне знать, если я неправильно понял.У вас есть объект myArray
типа HashMap<String, HashMap<String, String>>
.Это означает, что это карта, которая отображает строки на карты, эти карты в свою очередь отображают строки на другие строки
Естественно, ваша первая myArray.put()
работает, потому что вы put
объект (value
) типа HashMap<String, String>
в myArray
с маркировкой "new_item"
.На вашей карте у вас есть "new_item" -> value
.
Затем вы хотите добавить новую вещь в myArray
, эта вещь будет "id" -> 84
."id"
является строкой, поэтому это правильный тип ключа для ввода в myArray
, но значение должно иметь тип HashMap<String, String>
.84
- это int
, даже "84"
не будет работать, потому что это String
, а не HashMap<String, String>
Если вы хотите, чтобы ваша карта myArray
содержала оба "new_item" -> value
и "id" -> 84
, тогда value
и 84
должны быть одного типа.Самое простое, что можно сделать, это , вероятно , изменить myArray
на HashMap<String, String>
и преобразовать value
и 84
в String
перед тем, как поместить их в myArray
.Это верно, если после этого вы используете myArray
как String
(для отправки запроса, печати и т. Д.).