Java对象与json对象之间的转换
public class JsonTest {
/**
json字符串的api
*/
@Test
public void test01(){
Friend f = new Friend();
f.setName("Zoro");
f.setAge(18);
JSONObject jsonObj = JSONObject.fromObject(f);
String jsonStr = jsonObj.toString();
System.out.println(jsonStr);
Zoro"}
}
/**
* 将java数组(集合)转换成JSON字符串的方法
*/
@Test
public void test02(){
List<Friend> fs = new ArrayList<Friend>();
for(int i =0 ; i < 3;i++){
Friend f = new Friend();
f.setName("Zoro"+(i+1));
f.setAge(19+i);
fs.add(f);
}
json数组对象是由什么对象的到的
JSONArray jsonArr = JSONArray.fromObject(fs);//获得json对象
json对象得到json字符串
System.out.println(jsonStr);
//输出[{"age":19,"name":"Zoro1"},{"age":20,"name":"Zoro2"},{"age":21,"name":"Zoro3"}]
}
/**
json字符串转换成为java对象
*/
@Test
public void test03(){
String jsonStr = "{\"name\":\"Luffy\",\"age\":17}";
JSONObject jsonObj = JSONObject.fromObject(jsonStr);//由json字符串得到json对象
json对象转换成为Friend对象(toBean)
jsonObj.toBean(jsonObj,Friend.class);
System.out.println(f);
}
/**
json字符串转换成为java数组(集合)
*/
@Test
public void test04(){
String jsonStr = "[{\"age\":19,\"name\":\"Zoro1\"},{\"age\":20,\"name\":\"Zoro2\"},{\"age\":21,\"name\":\"Zoro3\"}]";
JSONArray jsonArr = JSONArray.fromObject(jsonStr);
(List<Friend>) JSONArray.toCollection(jsonArr, Friend.class);
for(Friend f:friends){
System.out.println(f);
}
}
}