今天學習了一下編寫Json格式的接口,發現也不是很麻煩,順便寫了兩個簡單的解析json格式字符串的方法,貼出來分享一下下。方法以下: json
//格式一 如//{"username":"7845166313","password":"123456"} 這種格式的解析,返回Map對象。
public Map<Object,Object> jsonToMapObject(String json){
Map<Object,Object> map = new HashMap<Object,Object>();//new一個map對象
String str = json.replace("{","").replace("}","").replaceAll("\"", "");//去掉大括號、雙引號
String[] ary1 = str.split(",");//根據」,「號分隔字符串,得到數組對象
for(String s : ary1){//循環取出數組中的對象
String[] ary2 = s.split(":");//根據」:「冒號分隔字符串,得到鍵-值數組對象
map.put(ary2[0],ary2[1]);//將對象以鍵-值對的方式存入map中
}
return map;
}
//格式二如://[{"username":"7845166313","password":"123456"},{"username":"545434","password":"3455"},{"username":"45354","password":"345454"}] 數組格式的解析
public List<Map<Object,Object>> jsonListToObjectList(String json){
List<Map<Object,Object>> listMap = new ArrayList<Map<Object,Object>>();//實例化一個map類型的集合對象
String data = json.replaceAll("\"", "").replace("[{", "").replace("}]","");//去掉先後括號、雙引號
String[]arry = data.split("},\\{"); //根據「},{」分隔字符串,得到對象數組
for(int i=0;i<arry.length;i++){
String[] arry2 = arry[i].split(",");//以逗號分隔對象("username":"7845166313","password":"123456")
Map<Object,Object> m = new HashMap<Object,Object>();//實例化map對象
for(int j=0;j<arry2.length;j++){
String[] aray3 = arry2[j].split(":");//根據」:「冒號分隔字符串,得到鍵-值數組對象
m.put(aray3[0],aray3[1]);//將對象以鍵-值對的方式存入map中
}
listMap.add(m);//將對象存入集合中
}
return listMap;
} 數組
還有不少其餘的格式,我這裏就寫了兩種簡單的格式,臨時寫的,可能還有不少其餘因素沒考慮進來,之後會慢慢改正...歡迎大俠們批評指正... 學習