Jackson---此文章摘自jackson官网例子

来源:互联网 发布:知乎的童瑶事件 编辑:程序博客网 时间:2024/05/19 22:46

易于人阅读和编写。同时也易于机器解析和生成

JSON-lib官网:http://json-lib.sourceforge.net/

Jackson官网:http://jackson.codehaus.org/

号称性能最快的JSON处理器Jackson远高于JSON_lib

转化json字符串:

/** * 使用Jackson生成json格式字符串 * * @author archie2010 since 2011-4-26下午05:59:46 */public class JacksonTest { private static JsonGenerator jsonGenerator = null; private static ObjectMapper objectMapper = null; private static User user = null; /** * 转化实体为json字符串 * @throws IOException */ public static void writeEntity2Json() throws IOException{ System.out.println("使用JsonGenerator转化实体为json串-------------"); //writeObject可以转换java对象,eg:JavaBean/Map/List/Array等 jsonGenerator.writeObject(user); System.out.println(); System.out.println("使用ObjectMapper-----------"); //writeValue具有和writeObject相同的功能 objectMapper.writeValue(System.out, user); } /** * 转化Map为json字符串 * @throws JsonGenerationException * @throws JsonMappingException * @throws IOException */ public static void writeMap2Json() throws JsonGenerationException, JsonMappingException, IOException{ System.out.println("转化Map为字符串--------"); Map<String, Object> map=new HashMap<String, Object>(); map.put("uname", user.getUname()); map.put("upwd", user.getUpwd()); map.put("USER", user); objectMapper.writeValue(System.out, map); } /** * 转化List为json字符串 * @throws IOException * @throws JsonMappingException * @throws JsonGenerationException */ public static void writeList2Json() throws IOException{ List<User> userList=new ArrayList<User>(); userList.add(user); User u=new User(); u.setUid(10); u.setUname("archie"); u.setUpwd("123"); userList.add(u); objectMapper.writeValue(System.out, userList);   objectMapper.writeValue(System.out, userList); } public static void main(String[] args) { user = new User(); user.setUid(5); user.setUname("tom"); user.setUpwd("123"); user.setNumber(3.44); objectMapper = new ObjectMapper(); try { jsonGenerator = objectMapper.getJsonFactory().createJsonGenerator(System.out, JsonEncoding.UTF8); //writeEntity2Json(); //writeMap2Json(); writeList2Json(); } catch (IOException e) { e.printStackTrace(); } }}

[{"number":3.44,"uname":"tom","upwd":"123","uid":5},{"number":0.0,"uname":"archie","upwd":"123","uid":10}]

输出到浏览器端:

StringWriter writer = new StringWriter();ObjectMapper mapper = new ObjectMapper(); try { mapper.writeValue(writer, hMap); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }response.setContentType("text/html;charset=UTF-8");PrintWriter out= response.getWriter();out.print(writer.toString());


原创粉丝点击