json 和 bean 转换 (小例子2)

本文介绍了一个简单的Java程序,演示如何将Java对象转换为JSON格式,并再将其转换回Java对象。通过具体的代码示例展示了使用net.sf.json库进行JSON操作的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java代码 复制代码 收藏代码
  1. package com.testjson; 
  2.  
  3. public class Person 
  4.     private String name; 
  5.      
  6.     private Integer age; 
  7.      
  8.     public String getName() 
  9.     { 
  10.         return name; 
  11.     } 
  12.      
  13.     public void setName(String name) 
  14.     { 
  15.         this.name = name; 
  16.     } 
  17.      
  18.     public Integer getAge() 
  19.     { 
  20.         return age; 
  21.     } 
  22.      
  23.     public void setAge(Integer age) 
  24.     { 
  25.         this.age = age; 
  26.     } 
  27.      
package com.testjson;

public class Person
{
    private String name;
    
    private Integer age;
    
    public String getName()
    {
        return name;
    }
    
    public void setName(String name)
    {
        this.name = name;
    }
    
    public Integer getAge()
    {
        return age;
    }
    
    public void setAge(Integer age)
    {
        this.age = age;
    }
    
}

Java代码 复制代码 收藏代码
  1. package com.testjson; 
  2.  
  3. import net.sf.json.JSONObject; 
  4.  
  5. public class test 
  6.     public static void main(String[] args) 
  7.     { 
  8.         Person p = new Person(); 
  9.         p.setAge(11); 
  10.         p.setName("测试"); 
  11.          
  12.         JSONObject jsonObj1 = JSONObject.fromObject(p); 
  13.          
  14.         System.out.println("JSON输出后的:" + jsonObj1.toString()); 
  15.          
  16.         JSONObject jsonObj2 = JSONObject.fromObject(jsonObj1); 
  17.          
  18.         System.out.println("JSONObject输出后的:" + jsonObj2.toString()); 
  19.          
  20.         Person p2 = (Person)JSONObject.toBean(jsonObj1, Person.class); 
  21.          
  22.         System.out.println("json转化为对象:姓名:" + p2.getName() + ";年龄:" + p2.getAge()); 
  23.          
  24.         /*********处理js格式问题************/ 
  25.         //        JsonConfig config = new JsonConfig(); 
  26.         //        config.setIgnoreDefaultExcludes(false); 
  27.         //        config.registerJsonBeanProcessor(Date.class, new JsDateJsonBeanProcessor()); 
  28.         /**************处理Integer为null时输出为0的问题 版本需要2.3**************/ 
  29.         //        JsonConfig jsonConfig = new JsonConfig(); 
  30.         //        jsonConfig.registerDefaultValueProcessor(Integer.class, new MyDefaultIntegerValueProcessor()); 
  31.         //        JsonConfig jsonConfig = new JsonConfig(); 
  32.         //        jsonConfig.findJsonValueProcessor(Integer.class, new DefaultValueProcessor() 
  33.         //        { 
  34.         //            public Object getDefaultValue(Class type) 
  35.         //            { 
  36.         //                return null; 
  37.         //            } 
  38.         //        }); 
  39.          
  40.     } 
package com.testjson;

import net.sf.json.JSONObject;

public class test
{
    public static void main(String[] args)
    {
        Person p = new Person();
        p.setAge(11);
        p.setName("测试");
        
        JSONObject jsonObj1 = JSONObject.fromObject(p);
        
        System.out.println("JSON输出后的:" + jsonObj1.toString());
        
        JSONObject jsonObj2 = JSONObject.fromObject(jsonObj1);
        
        System.out.println("JSONObject输出后的:" + jsonObj2.toString());
        
        Person p2 = (Person)JSONObject.toBean(jsonObj1, Person.class);
        
        System.out.println("json转化为对象:姓名:" + p2.getName() + ";年龄:" + p2.getAge());
        
        /*********处理js格式问题************/
        //        JsonConfig config = new JsonConfig();
        //        config.setIgnoreDefaultExcludes(false);
        //        config.registerJsonBeanProcessor(Date.class, new JsDateJsonBeanProcessor());
        /**************处理Integer为null时输出为0的问题 版本需要2.3**************/
        //        JsonConfig jsonConfig = new JsonConfig();
        //        jsonConfig.registerDefaultValueProcessor(Integer.class, new MyDefaultIntegerValueProcessor());
        //        JsonConfig jsonConfig = new JsonConfig();
        //        jsonConfig.findJsonValueProcessor(Integer.class, new DefaultValueProcessor()
        //        {
        //            public Object getDefaultValue(Class type)
        //            {
        //                return null;
        //            }
        //        });
        
    }
}

Java代码 复制代码 收藏代码
  1. package com.testjson; 
  2.  
  3. import net.sf.json.JSONNull; 
  4. import net.sf.json.processors.DefaultValueProcessor; 
  5.  
  6. public class MyDefaultIntegerValueProcessor implements DefaultValueProcessor 
  7.      
  8.     public Object getDefaultValue(Class type) 
  9.     { 
  10.         if (type != null && Integer.class.isAssignableFrom(type)) 
  11.         { 
  12.             return Integer.valueOf(9999); 
  13.         } 
  14.         return JSONNull.getInstance(); 
  15.     } 
  16.      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值