需要的jar:
Maven依赖:
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.2.2</version> <classifier>jdk15</classifier> </dependency>
import net.sf.json.JSONObject; public class JsonlibTest { public static void main(String[] args) { /*假如:两个系统进行对接,User.java是A系统中的一个类,Person.java是B系统中的一个类*/ User user = new User("lucheng", 1); JSONObject jsonUser = JSONObject.fromObject(user);//注意:User类需public修饰 JSONObject jsonPerson = new JSONObject(); String userName = jsonUser.get("userName").toString();//姓名 if(userName!=null) { jsonPerson.put("name", userName.toString()); } String userSex = jsonUser.get("userSex").toString();//性别 if(userSex!=null) { if(userSex.equals("0")) { jsonPerson.put("sex", "女"); } else { jsonPerson.put("sex", "男"); } } Person person = (Person) JSONObject.toBean(jsonPerson,Person.class);//注意:Person类需public修饰 System.out.println("Person [name="+ person.getName() +",sex="+ person.getSex() +"]"); } }
import java.io.Serializable; public class User implements Serializable { private static final long serialVersionUID = 1098200633009452425L; private String userName; private int userSex; public User(){ } public User(String userName,int userSex) { this.userName = userName; this.userSex = userSex; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public int getUserSex() { return userSex; } public void setUserSex(int userSex) { this.userSex = userSex; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((userName == null) ? 0 : userName.hashCode()); result = prime * result + userSex; return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; User other = (User) obj; if (userName == null) { if (other.userName != null) return false; } else if (!userName.equals(other.userName)) return false; if (userSex != other.userSex) return false; return true; } }
import java.io.Serializable; public class Person implements Serializable { private static final long serialVersionUID = -145610726414492908L; private String name; private String sex; public Person() { } public Person(String name, String sex) { this.name = name; this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((sex == null) ? 0 : sex.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Person other = (Person) obj; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; if (sex == null) { if (other.sex != null) return false; } else if (!sex.equals(other.sex)) return false; return true; } }