环境:
json-lib-2.4-jdk15.jar
采用JSONObject.toBean(JSONObject jsonObject, Class beanClass, Map classMap)方法将JSON串映射到JAVA类。
代码:
String json = "{'HeartbeatMessage':{'devId':'000001'}}";
Map classMap = new HashMap();
classMap.put("HeartbeatMessage", HeartBeat.class);
HeartBeatList hList = (HeartBeatList)JSONObject.toBean(JSONObject.fromObject(json), HeartBeatList.class, classMap);
hList为null.
如果将"HeartbeatMessage"首字母小写为"heartbeatMessage",classMap同样改为小写"heartbeatMessage",则可以正常映射到HeartBeat中。
没有在json-lib的官网上找到关于JSON名称的首字母大小写规定,因此只能降其转换为小写或者采用其他方式做解析。