jackson

import java.io.File;
import java.io.IOException;
import java.util.Map;

import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

public class User {
	int age;
	int name;

	public int getName() {
		return name;
	}

	public void setName(int name) {
		this.name = name;
	}
public static void main(String[] args) throws IOException {
		String s = "{\"name\":123}";
		ObjectMapper mapper = new ObjectMapper();
		User a = mapper.readValue(s, User.class);
		System.out.println(mapper.writeValueAsString(a));

		// writeJsonObject();
		// readJsonObject();
		// readJsonMap();
	}
// 直接写入一个对象
	public static void writeJsonObject() {
		ObjectMapper mapper = new ObjectMapper();
		Person person = new Person("nomouse", 25);
		try {
			mapper.writeValue(new File("c:/person.json"), person);
		} catch (JsonGenerationException e) {
			e.printStackTrace();
		} catch (JsonMappingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
// 直接将一个json转化为对象
	public static void readJsonObject() {
		ObjectMapper mapper = new ObjectMapper();
		try {
			Person person = mapper.readValue(new File("c:/person.json"),
					Person.class);
			System.out.println(person.getName() + ":" + person.getAge());
		} catch (JsonParseException e) {
			e.printStackTrace();
		} catch (JsonMappingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
// 直接转化为map
	public static void readJsonMap() {
		ObjectMapper mapper = new ObjectMapper();
		try {
			// 需要注意的是这里的Map实际为一个LikedHashMap,即链式哈希表,可以按照读入顺序遍历
			Map map = mapper.readValue(new File("c:/person.json"), Map.class);
			System.out.println(map.get("name") + ":" + map.get("age"));
		} catch (JsonParseException e) {e.printStackTrace();
		} catch (JsonMappingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}
class Person {
	private String name;
	private int age;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}

	public Person() {
	}

}

你可能感兴趣的:(jackson)