Java对象与Json数据的转换

后端数据交互时常需处理各种需要处理的json数据,对数据的转换和提取经常会碰到,下面是一些常用的方法

  • JSONObject类
    • map.toString()
    • JSONObject.toJSONString( map )
    • JSONObject.toString
Map<String, Integer> map = new HashMap<>();
map.put( "staff9", 1 );
map.put( "staff1", 3 );

System.out.println( map.toString() );// 结果是 {staff9=1, staff1=3}
// JSONObject 要导入net.sf.json.JSONObject包;
System.out.println( JSONObject.toJSONString( map ) );// 结果是 {"staff9":1,"staff1":3}

若已将map转化为json,可用toString方法

JSONObject mapObject=JSONObject.fromObject(map);
System.out.println(mapObject.toString()); 
  • java对象转化成json数组

    • 利用字符串的改变
    public static String toJsonArray(List<Object> list){  
            if(null == list || list.size() == 0)   
                throw new RuntimeException("数组列表为空!");  
            StringBuilder sb = new StringBuilder();  
            int size = list.size();  
            sb.append("{");  
            sb.append("personArr:[");  
            for(int i = 0 ; i < size; i++){  
                sb.append(list.get(i).toString());  
                if( size > 1 && i < (size-1)){  
                    sb.append(",");  
                }  
            }  
            sb.append("]}");  
            return sb.toString();  
        }  
    }  
    
    • 若将数组转化为json数组直接调用JSONObject
    JSONObject json = JSONObject.fromObject(obj);
    
  • 将json字符串转换为java对象

//同样先将json字符串转换为json对象,再将json对象转换为java对象
JSONObject obj = newJSONObject().fromObject(jsonStr);//将json字符串转换为json对象
//将json对象转换为java对象
Person jb = (Person)JSONObject.toBean(obj,Person.class);//将建json对象转换为Person对象
  • 将java对象转换为json字符串
//先将java对象转换为json对象,在将json对象转换为json字符串
JSONObject json = JSONObject.fromObject(obj);//将java对象转换为json对象
String str = json.toString();//将json对象转换为字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值