您的位置:首页 > 编程语言 > Java开发

JSON(2):如何将一个java对象转换为一个符合json语法的字符串

2013-06-20 14:37 302 查看
假设在服务器端我们已经得到一个java对象,现在考虑如何将这个java对象转换为一个符合json语法的字符串。当然我们可以自己写一套算法实现这个转换,但是比较麻烦,尤其当对象的属性很多的时候或者属性嵌套的比较深的时候,就更麻烦了。

实际中,我们可以利用现成的工具实现这个转换过程:



User.java :

public class User {

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 User() {
super();
}
public User(String name, int age) {
super();
this.name = name;
this.age = age;
}

}
Test.java :

public class Test {

public static void main(String[] args) {
//test1();
test2();
//test3();
}

//将一个java对象转换成一个符合json语法的字符串
public static void test1(){
User user=new User("Tom",20);
JSONObject json=JSONObject.fromObject(user);
String json_str=json.toString();
System.out.println(json_str);
}

//将一个java数组转换成一个符合json语法的字符串
public static void test2(){
User user1=new User("Tom",20);
User user2=new User("Green",25);
User[] users={user1,user2};
JSONArray json=JSONArray.fromObject(users);
String json_str=json.toString();
System.out.println(json_str);
}

//将一个java集合转换成一个符合json语法的字符串
public static void test3(){
User user1=new User("Tom",20);
User user2=new User("Green",25);
User user3=new User("Smith",30);
List<User> users=new ArrayList<User>();
users.add(user1);
users.add(user2);
users.add(user3);
JSONArray json=JSONArray.fromObject(users);
String json_str=json.toString();
System.out.println(json_str);
}

}
需要做的就是导入相应的jar包,其中json包为核心包,其余为依赖包。相关jar包可以到我的资源里免费下载。

转换过程中需要使用JSONObject( 转换Java对象)和JSONArray( 转换Java对象数组或Java集合)的 fromObject( )方法,得到json对象以后,接着调用 toString( )方法,就可以得到我们要求的符合json语法的字符串了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: