Jackson JSON Processor

4312 ワード

Jacksonはインタフェースを提供し、jsonとbeanの間で互いに変換することができます.
 
1.一例
public class JsonToJavaBean {
    public static void main(String[] args) {
        String str="{\"student\":[{\"name\":\"leilei\",\"age\":23},{\"name\":\"leilei02\",\"age\":23}]}";
        Student stu = null;
        List<Student> list = null;
        try {
            ObjectMapper objectMapper=new ObjectMapper();
            StudentList studentList=objectMapper.readValue(str, StudentList.class);
             
            list=studentList.getStudent();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
        for(Student s:list){
            System.out.println(s.getName()+"   "+s.getAge());
        }
    }
}

 
2.第2例
public static void main(String[] args) {
        ArrayList<Student> list=new ArrayList<Student>();
        Student s1=new Student();
        s1.setName("leilei");
        s1.setAge(23);
        Student s2=new Student();
        s2.setName("leilei02");
        s2.setAge(23);
        list.add(s1);
        list.add(s2);
         
        StringWriter str=new StringWriter();
         
        ObjectMapper objectMapper=new ObjectMapper();
        try {
            objectMapper.writeValue(str, list);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }   
        System.out.println(str);
    }

 
私が見た使い方
public Session fromJson(String json) throws JsonParseException, JsonMappingException, IOException {
        return new ObjectMapper().readValue(json, Session.class);
    }

 
まとめ
1.jsonはjavaにstringという形で存在する
2.変換に必要な情報は元のjsonデータと変換標準beanの定義である
3.arrayと単一objectを変換できる