【问题标题】:Convert string to map in java在java中将字符串转换为映射
【发布时间】:2016-10-20 04:02:45
【问题描述】:

我有下面的字符串值需要转换成map,我使用了下面的代码

String parameters='[{"key":"login","value":"admin"},{"key":"Createddate","value":"cairo"}]';

ObjectMapper mapper = new ObjectMapper();
Map<String, String> map ;

map = mapper.readValue(parameters, new TypeReference<Map<String, String>>(){});
System.out.println(map);

我收到以下错误

com.fasterxml.jackson.databind.JsonMappingException: Can not
deserialize instance of java.util.LinkedHashMap out of START_ARRAY token
at [Source: [{"key":"login","value":"admin"},
{"key":"Createddate","value":"cairo"}]; line: 1, column: 1]

【问题讨论】:

  • 你的代码有什么问题?
  • 我已经更新了问题
  • JSON 是一个对象数组(每个对象描述一个键/值对)。您需要先让 Jackson 给您一个列表,然后对其进行迭代以构建您的结果图。
  • 可能重复here

标签: java dictionary objectmapper


【解决方案1】:
String param="[{\"key\":\"login\",\"value\":\"admin\"},{\"key\":\"Createddate\",\"value\":\"cairo\"}]";

ObjectMapper mapper = new ObjectMapper();
List maps = mapper.readValue(param, List.class);

for (int i=0 ; i<maps.size() ; i++){
    Log.d("MAP", maps.get(i).toString());
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 2014-03-10
    • 2021-12-25
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    相关资源
    最近更新 更多