Java动态给序列化JSON添加对象

本文介绍了如何在Java中使用反射和fastjson库动态地将一个对象添加到已序列化的JSON中,以实现通用接口的需求。在处理亚马逊接口通用化时,需要将订单明细B合并到订单主体A,并自定义属性AmazonOrderDetail,而不需要创建新的对象C。
摘要由CSDN通过智能技术生成

我们在写通用方法时,往往通过反射来创建对象。在有时候我们将动态对象转成JSON。需要将另外动态对象插入到JSON中时。就需要如下操作:

工作中,将亚马逊接口通用化的时候。需要将订单明细B 加入到订单主体A中。并且自定义属性AmazonOrderDetail。

正常的操作是新建对象 C 将属性分别赋值就行了。

但是我是通用接口。只知道SDK中的ClassName.

于是就有了下面的操作。

 

直接上代码:

//对象A               
Object currentObj;

                
JSONArray jsonArrayInput = new JSONArray();

                
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(currentObj));


//对象B 类名            
String childClassName = "";

  
jsonArrayInput.addAll(JSON.parseArray("对象B的JSON串", Class.forName(childClassName)));
                jsonObject.put("AmazonOrderDetail", jsonArrayInput);

 

附加在JSon中获取所有键值:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springframework.stereotype.C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值