一,爲什麼使用jackson
二,如何使用jackson
首先下載jackson-core.jar,jackson-annotation.jar,jackson-databind.jar三個文件,http://download.csdn.net/detail/xunxianren007/9727028
將這三個jar放入工程目錄libs下,
並依次點擊.jar文件右鍵->add as library,然後在sync即可使用。
一,jackson讀取字符串
content="
{"datas":[{"campus":"新校區","classes":"工程試驗班(採礦)1402","college":"資源與安全工程學院","course":"數據庫技術及應用", "courseCode":"020561T1","major":"採礦工程(T)","name":"張三","no":"204140222","number":"020328-001","rawId":63, "schedule":"[1-8周]星期一[5-6節]/C座112@[1-8周]星期二[5-6節]/C座108","school":"大學","season":"2","year":"2016"}, {"campus":"新校區","classes":"工程試驗班(採礦)1402","college":"資源與安全工程學院","course":"彈塑性力學", "courseCode":"020141X1","major":"採礦工程(T)","name":"李四","no":"204140222","number":"020122-001","rawId":64, "schedule":"[7-16周]星期三[9-10節]/B座218@[7-16周]星期五[9-10節]/B座218","school":"大學","season":"2","year":"2016"}], "pageNo":1,"pageSize":0,"rowCount":2,"totalPage":2147483647}"
public static void StringToJson(String content){ ObjectMapper objectMapper=new ObjectMapper(); try { Map<String,List<Map<String,String >>> map= (Map<String, List<Map<String,String >>>) objectMapper.readValue(content,Map.class); Log.i(TAG,map.get("datas").toString()); List<Map<String,String>> list=map.get("datas"); for (int i=0;i<list.size();i++){ Log.i(TAG,list.get(i).get("college")); } } catch (IOException e) { e.printStackTrace(); } } 如上即可得到所有的數據項。 二,jackson讀取文件
文件內容如下; { "name" : { "first" : "Joe", "last" : "Sixpack" }, "gender" : "MALE", "verified" : false, "userImage" : "Rm9vYmFyIQ==" }
public void FileToObject(File file){ ObjectMapper objectMapper=new ObjectMapper(); Map<String, Object> map = null; try { map = objectMapper.readValue(file, Map.class); } catch (IOException e) { e.printStackTrace(); } Log.i(TAG, map.get("name") + ""); }三,jackson寫入文件
public void JsonToFile(File file) { ObjectMapper objectMapper = new ObjectMapper(); Map<String, Object> map1 = new HashMap<>(); Map<String, String> name = new HashMap<>(); name.put("first", "Bo"); name.put("last", "Leng"); map1.put("name", name); map1.put("verified", Boolean.FALSE); map1.put("userImage", "Rm9vYmFyIQ=="); try { objectMapper.writeValue(file, map1); } catch (IOException e) { e.printStackTrace(); } Log.i(TAG, file.getAbsolutePath()); }
三,問題及解決方法
1,Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. >
修改
build.grade加入
android{
packagingOptions{
exclude "MEAT-INF/LICENSE"
}
}
四,源代碼