将硬件报文转为hashMap:id=123123123 以k-v
##0331ST=32;CN=2000;PW=123456;MN=C002;SK=ACE41F3D035D1FFSDFSV5GSD5FEEG3B;CP=&&DateTime=xxxxxx;PM-Avg=38.74,PM-Flag=N;PM1-Avg=34.84,PM1-Flag=N;…
/**
* index=0时,为map的key,index=1时,为map的value
*/
private static int index = 0;
/**
* 将String转为hashMap(把 PM-Avg=123123123 以k-v方式)
*
* @param data 数据 String:json
* @return hashMap
*/
public static HashMap<String, String> parsingData(String data) {
//解析,将;全部替换为,,好统一处理
String result = data.substring(6, data.length()).replaceAll(";", ",")
.replace("CP=&&", "");
result = result.substring(0, result.indexOf("&&"));
//以,分隔
String[] resultList = result.split(",");
//遍历数组,传入hashmap
HashMap<String, String> map = new HashMap<String, String>();
for (String data1 : resultList) {
String key = "";
String value = "";
//把 PM-Avg=123123123 以k-v方式
String[] resu = data1.split("=");
for (String data2 : resu) {
/**key*/
if (index == 0) {
key = data2;
index++;
} else if (index == 1) {
/**value*/
value = data2;
index = 0;
}
}
map.put(key, value);
}
return map;
}