Skip to content

Instantly share code, notes, and snippets.

@linlihai
Last active August 29, 2015 13:57
Show Gist options
  • Save linlihai/9909793 to your computer and use it in GitHub Desktop.
Save linlihai/9909793 to your computer and use it in GitHub Desktop.
Deserialization

Q1:

Class A{
	List<String> arr;
	String name;
}
Class B{
	String arr; // List toJSON
	String name;
	public String toString{
		return "{\"arr\":\""+arr+"\",\"name\":\""+name+"\"}"; // standard JSONString
	}
}

现在得到 B对象 如何序列化成 A对象

Q2:

现在有N个文件,每个文件都是一个Object(不同Class)的JSONString, 如果要你设计一个框架 从 File --> Object --> DB 你会怎么设计?

@linlihai
Copy link
Author

linlihai commented Apr 2, 2014

很显然Q1的问题就很好回答了

Class A{
    List<String> arr;
    String name;
    // getter setter
    public void setArr(String arrs){
       // String convert to List
    }
}

Q2的问题需要分2步看 :

  • 反序列化( 其实跟(Spring Bean 类似)
    file里面对应其实是成员变量的值, 相当于Spring 里面 xml 配置信息, 需要让容器里面注册一个Handler,来解析JSON的反序列化
  • 写到DB
    可以看作如何 管理 BeanDAO的一个映射关系, 可以用Class 为Key, 设计成一个监听的模式

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment