java对象和json的互转

来源:互联网 发布:苹果网络恢复系统 编辑:程序博客网 时间:2024/06/06 19:38

java --> json

java bean:

public class person{ 
String name = "china";
     String Sex = "man";
     int age = 19;
     
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return Sex;
}
public void setSex(String sex) {
Sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;

}

注意:java bean 中一定要写set方法和get方法,否则转换成json对象是为空。!!!

转换代码:

                List ps = new ArrayList(); 
                
                person p1 = new person();
                person p2 = new person();
                p2.setName("Tom");
                p2.setSex("woman");
                p2.setAge(25);
                
                ps.add(p1);
                ps.add(p2);
                
                JSONObject jo = JSONObject.fromObject( p1 );     
                System.out.println( jo.toString()); /*{"age":19,"name":"china","sex":"man"}*/

                JSONArray jsonarr = JSONArray.fromObject( ps );     
                System.out.println( jsonarr.toString()); /*[{"age":19,"name":"china","sex":"man"},{"age":25,"name":"Tom","sex":"woman"}]*/


json解析

        Map map = new HashMap();  
        map.put( "name", "json" );  
        map.put( "bool", Boolean.TRUE );  
        map.put( "int", new Integer(1) );  
        map.put( "arr", new String[]{"a","b"} );  
        map.put( "func", "function(i){ return this.arr[i]; }" );  
        
        map.put("cpu", "50%");
          
        JSONObject jsonObject = JSONObject.fromObject( map );  
        System.out.println( jsonObject ); 
        
        String str = (String)jsonObject.get( "cpu" );
        System.out.println("cpu:" + str);
   
        Integer a = (Integer)jsonObject.get( "int" );
        System.out.println("int:" + a);
        
        Boolean b = (Boolean)jsonObject.get( "bool" );
        System.out.println("bool:" + b);
        
        List<String> expected = JSONArray.toList(jsonObject.getJSONArray( "arr" ));
        System.out.println("expected0:" + expected.get(0) + "  expected1:" + expected.get(1));
        
                 List<String> list = new ArrayList<String>();
                 list.add("username");
                 list.add("age");
                 list.add("sex");
 
                 //初始化HashMap集合并添加数组
                 Map map1 = new HashMap();
                map1.put("bookname", "CSS3实战");
                map1.put("price", 69.0);
 
                //初始化JSONArray对象,并添加数据
                JSONArray array1 = new JSONArray();
                array1.add(list);
                array1.add(map1);
                
                String astr = array1.toString();
                System.out.println(astr);