引用类:
com.alibaba.fastjson.JSON
class TagBeans {
private String measureTag;
private String measureTagName;
private String dataType;
}
一.字符串转类
String jsonStr = "{\"ANotBalanceRate\":[{\"dataType\":\"3\",\"measureTag\":\"ANotBalanceRate\",\"measureTagName\":\"A相电流不平衡率\"}],\"AvgI\":[{\"dataType\":\"3\",\"measureTag\":\"AvgI\",\"measureTagName\":\"三相平均电流\"}],\"BNotBalanceRate\":[{\"dataType\":\"3\",\"measureTag\":\"BNotBalanceRate\",\"measureTagName\":\"B相电流不平衡率\"}],\"CNotBalanceRate\":[{\"dataType\":\"3\",\"measureTag\":\"CNotBalanceRate\",\"measureTagName\":\"C相电流不平衡率\"}],\"GEN.AH\":[{\"dataType\":\"1\",\"measureTag\":\"GEN.AH\",\"measureTagName\":\"绝对湿度\"}],\"GEN.BatteryGroupU\":[{\"dataType\":\"1\",\"measureTag\":\"GEN.BatteryGroupU\",\"measureTagName\":\"组直流电压\"}],\"GEN.CIa10\":[{\"dataType\":\"1\",\"measureTag\":\"GEN.CIa10\",\"measureTagName\":\"A相10次谐波电流含有率\"}],\"GEN.CIa11\":[{\"dataType\":\"1\",\"measureTag\":\"GEN.CIa11\",\"measureTagName\":\"A相11次谐波电流含有率\"}],\"GEN.CIa12\":[{\"dataType\":\"1\",\"measureTag\":\"GEN.CIa12\",\"measureTagName\":\"A相12次谐波电流含有率\"}],\"GEN.CIa13\":[{\"dataType\":\"1\",\"measureTag\":\"GEN.CIa13\",\"measureTagName\":\"A相13次谐波电流含有率\"}],\"GEN.CIa14\":[{\"dataType\":\"1\",\"measureTag\":\"GEN.CIa14\",\"measureTagName\":\"A相14次谐波电流含有率\"}],\"GEN.CIa15\":[{\"dataType\":\"1\",\"measureTag\":\"GEN.CIa15\",\"measureTagName\":\"A相15次谐波电流含有率\"}],\"GEN.CIa16\":[{\"dataType\":\"1\",\"measureTag\":\"GEN.CIa16\",\"measureTagName\":\"A相16次谐波电流含有率\"}],\"GEN.CIa17\":[{\"dataType\":\"1\",\"measureTag\":\"GEN.CIa17\",\"measureTagName\":\"A相17次谐波电流含有率\"}]";
//转换不正确
Map<String, List<TagBeans>> allTag = (Map<String, List<TagBeans>>)JSON.parse(jsonStr,new TypeReference<Map<String, List<TagBeans>>>(){});
//正确转换
Map<String, List<TagBeans>> allTag1 = JSON.parseObject(jsonStr,new TypeReference<Map<String, List<TagBeans>>>(){});
String str2 = "[{\"dataType\":\"1\",\"measureTag\":\"GEN.CIa17\",\"measureTagName\":\"A相17次谐波电流含有率\"}]";
//字符串转list
List<TagBeans> tagBeans = JSON.parseArray(str2,TagBeans.class);
String str3 = "{\"dataType\":\"1\",\"measureTag\":\"GEN.CIa17\",\"measureTagName\":\"A相17次谐波电流含有率\"}";
//字符串转对象
TagBeans tagBeans = JSON.parseObject(str3 ,TagBeans.class);
二.类转字符串
JSON.toJSONString(classObj)