Jackson JSON Processor
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. 第二个例子
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