json字符串与类的转换是java中经常用到的操作。
今天学习了org.json工具的使用,发现比之前Gson包工具的使用简单很多。话不多说,先上代码:
User.java
package Bean;
public class User {
private int id;
private String username;
private String account;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void update(User user) {
this.account=user.getAccount();
this.password=user.getPassword();
this.username=user.getUsername();
}
}
第二个是JSONTest类
package Test;
import java.util.ArrayList;
import org.json.JSONObject;
import Bean.User;
public class JsonTest {
public static void main(String[] args) {
User user =new User();
user.setAccount("acc");
user.setId(1);
user.setPassword("76767");
//直接将类转换成json字符串
JSONObject js =new JSONObject(user);
System.out.println(js.toString());
//在原有类的基础上增加属性
js.put("result","success");
System.out.println(js.toString());
//有数组的情况下转化
ArrayList<User> list=new ArrayList<User>();
for(int i=0;i<4;i++) {
User u =new User();
u.setAccount("a"+i);
u.setId(i);
u.setPassword("p"+i);
u.setUsername("u"+i);
list.add(u);
}
//初始化JSONObject
js=new JSONObject();
js.put("single", user);
js.put("array",list);
System.out.println(js.toString());
}
}
附JSONObject依赖包:
https://download.youkuaiyun.com/download/qq_34787935/10950183