动态解析JSON字符串,将数据存入数据库

我在使用netty时候,由于不同设备发出的JSON字符串不一样,我需要一个动态解析JSON字符串方法去解决,我的思路是先将json字符串通过gson这个类转成map,由于在运行期间无法得知T的具体类型,对这个类的对象进行序列化和反序列化都不能正常进行。Gson通过借助TypeToken类来解决这个问题。

//实例化gson        
Gson gson=new Gson();
//实例化TypeToken
Type type=new TypeToken<Map>() {}.getType();
//把json转成map
Map map= gson.fromJson(json,type);

通过迭代器获取map 的所有value值并且赋值给ArrayList存储,因为是动态解析,我无法知道是value什么类型,所以用Object类型,写入数据库时会自动转换

//实例化ArrayList,用来存放value值
ArrayList list = new ArrayList();
//使用Iterator获取map的key与value的集合
Iterator it = map.entrySet().iterator() ;
 while (it.hasNext()){    
        //通过Entry获取key与value   
	    Map.Entry entry = (Map.Entry) it.next() ;
	    //通过getValue获取value值
        Object value = entry.getValue() ;
        //把获取的值通过toString方法添加到ArrayList
	    list.add(value.toString());
    }</
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值