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);
       }
    }
}