- js 中使用:
var user = {'name':'红中','age':23} //undefined
typeof user //"object"
var str = JSON.stringify(user) //undefined
typeof str //"string"
str //"{"name":"红中","age":23}"
var obj = JSON.parse(str) //undefined
obj //{name: "红中", age: 23}
- java 中使用
- fastjson
- jackson
public class TestJson {
public static void main(String[] args) throws Exception {
User user = new User();
user.setId(1);
user.setUsername("myname");
testHessian(user);
System.out.println("-----");
testFastjson(user);
System.out.println("-----");
testJackson(user);
}
private static void testJackson(User user) throws Exception {
ObjectMapper om = new ObjectMapper();
String str = om.writeValueAsString(user);
System.out.println(str);
User u = om.readValue(str, User.class);
System.out.println(u);
}
private static void testFastjson(User user) {
String jsonStr = JSON.toJSONString(user);
System.out.println(jsonStr);
User obj = (User) JSON.parseObject(jsonStr, User.class);
System.out.println(obj);
}
//需实现Serializable 接口
public static void testHessian(User user) throws Exception {
Hessian2Output out = new Hessian2Output(new FileOutputStream("hessian.txt"));
out.writeObject(user);
out.flush();
out.close();
System.out.println("序列化成功");
Hessian2Input in = new Hessian2Input(new FileInputStream("hessian.txt"));
User u = (User) in.readObject(User.class);
System.out.println("反序列化成功");
System.out.println(u);
}
}