Android學習第六篇;Jackson的使用

一,爲什麼使用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"

}

}

四,源代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章