我正在尝试做这样的事情,但它不起作用:
Map<String, String> propertyMap = new HashMap<String, String>(); propertyMap = JacksonUtils.fromJSON(properties, Map.class);
但是IDE说:
未经检查的作业 Map to Map<String,String>
Map to Map<String,String>
什么是正确的方法?我仅使用Jackson,因为这已在项目中提供,是否存在本机Java转换为JSON或从JSON转换的方式?
在PHP中,我将简单地json_decode($str)得到一个数组。我这里基本上需要同样的东西。
json_decode($str)
我有以下代码:
public void testJackson() throws IOException { ObjectMapper mapper = new ObjectMapper(); File from = new File("albumnList.txt"); TypeReference<HashMap<String,Object>> typeRef = new TypeReference<HashMap<String,Object>>() {}; HashMap<String,Object> o = mapper.readValue(from, typeRef); System.out.println("Got " + o); }
它是从文件读取的,但mapper.readValue()也将接受,InputStream并且你可以InputStream使用以下命令从字符串中获取:
mapper.readValue()
InputStream
new ByteArrayInputStream(astring.getBytes("UTF-8"));