日期:2014-05-16  浏览次数:20372 次

Jackson解析JSON例子
Jackson解析JSON例子

private ObjectMapper mapper = new ObjectMapper();
Student student = new Student();
student.setName("ajaxtest");
String str = mapper.writeValueAsString(student);

上面这个足够用了





转:
==============JacksonTest .java====================
package com.bbs.utils.json;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.node.JsonNodeFactory;
public class JacksonTest {
private static JsonGenerator jsonGenerator = null;
private static ObjectMapper objectMapper = null;
private static User user = null;
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);
}
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);
}
public static void writeMap2Json() {
  try {
   Map<String, Object> map = new HashMap<String, Object>();
   User u = new User();
   u.setUid(10);
   u.setUname("archie");
   u.setUpwd("123");
   map.put("uid", u.getUid());
   map.put("uname", u.getUname());
   map.put("upwd", u.getUpwd());
   System.out.println("jsonGenerator");
   jsonGenerator.writeObject(map);
   objectMapper.writeValue(System.out, map);
  } catch (IOException e) {
   e.printStackTrace();
  }
}
public static void writeOthersJSON() {
  try {
   String[] arr = { "a", "b", "c" };
   System.out.println("jsonGenerator");
   String str = "hello world jackson!";
   // byte
   jsonGenerator.writeBinary(str.getBytes());
   // boolean
   jsonGenerator.writeBoolean(true);
   // null
   jsonGenerator.writeNull();
   // float
   jsonGenerator.writeNumber(2.2f);
   // char
   jsonGenerator.writeRaw("c");
   // String
   jsonGenerator.writeRaw(str, 5, 10);
   // String
   jsonGenerator.writeRawValue(str, 5, 5);
   // String
   jsonGenerator.writeString(str);
   jsonGenerator.writeTree(JsonNodeFactory.instance.POJONode(str));
   System.out.println();
   // Object
   jsonGenerator.writeStartObject();// {
   jsonGenerator.writeObjectFieldStart("user");// user:
   jsonGenerator.writeStringField("name", "jackson");// name:jackson
   jsonGenerator.writeBooleanField("sex", true);// sex:true
   jsonGenerator.writeNumberField("age", 22);// age:22