Java单个对象和List对象转换成Json,Json转List

淩亂°似流年 2022-05-05 09:34 3056阅读 0赞

目录

(一)使用单个对象转换JSON对象

(二)多个对象存到List,再转换成JSON

(三)json的list对象转List对象


(一)使用单个对象转换JSON对象

  1. import java.util.ArrayList;
  2. import java.util.HashMap;
  3. import java.util.List;
  4. import java.util.Map;
  5. import org.apache.commons.lang.StringUtils;
  6. import org.apache.commons.logging.Log;
  7. import org.apache.commons.logging.LogFactory;
  8. import org.junit.Test;
  9. import com.css.eshop.exception.DataAccessException;
  10. import com.css.eshop.model.VoucherInfo;
  11. import com.css.eshop.util.HttpClientUtil;
  12. import com.css.eshop.util.LoadStaticReferenceTables;
  13. import net.sf.json.JSONArray;
  14. import net.sf.json.JSONObject;
  15. public class TestPut {
  16. protected Log logger = LogFactory.getLog(this.getClass().getName());
  17. @Test
  18. public void getOneJson(){//测试转换成Json,单个对象
  19. VoucherInfo vo1=new VoucherInfo();
  20. vo1.setVoucherValue(2131);vo1.setVoucherCode("小可爱的");
  21. JSONObject updateJsonObj = JSONObject.fromObject(vo1);//转换成json格式
  22. logger.info("---转换成json格式:---"+updateJsonObj.toString());//提取access_token节点数据
  23. }
  24. }

输出转换后日志:

70

17-10-2018 17:35 INFO TestPut:35 - —-转换成json格式:—-{“labourCost”:0,”refMetalPrice”:0,”voucherCoNumber”:””,”voucherCode”:”小可爱的”,”voucherType”:””,”voucherValue”:2131,”weight”:0,”weightUnit”:””}

(二)多个对象存到List,再转换成JSON

  1. @Test
  2. public void getArrayList(){//测试转换成Json,List转换成JSONList
  3. List<VoucherInfo> vouchersList=new ArrayList<VoucherInfo>();
  4. VoucherInfo vo1=new VoucherInfo();
  5. VoucherInfo vo2=new VoucherInfo();
  6. vo1.setVoucherValue(2131);vo1.setVoucherCode("小可爱的");
  7. vo2.setVoucherValue(100);vo2.setVoucherCode("小可爱的222");
  8. vouchersList.add(vo1);vouchersList.add(vo2);
  9. JSONArray jsonArray = JSONArray.fromObject(vouchersList);
  10. logger.info("--获取到转换为json格式的内容:"+jsonArray.toString());//提取access_token节点数据
  11. }

输出日志:

70 1

17-10-2018 17:36 INFO TestPut:47 - —获取到转换为json格式的内容:[{“labourCost”:0,”refMetalPrice”:0,”voucherCoNumber”:””,”voucherCode”:”小可爱的”,”voucherType”:””,”voucherValue”:2131,”weight”:0,”weightUnit”:””},{“labourCost”:0,”refMetalPrice”:0,”voucherCoNumber”:””,”voucherCode”:”小可爱的222”,”voucherType”:””,”voucherValue”:100,”weight”:0,”weightUnit”:””}]

(三)json的list对象转List对象

先转jsonArray,再转object提取数据

  1. @Test
  2. public void test1210() {
  3. List<VoucherInfo> vouchers=new ArrayList<VoucherInfo>();
  4. VoucherInfo voucherInfo1=new VoucherInfo();VoucherInfo voucherInfo2=new VoucherInfo();
  5. voucherInfo1.setVoucherCode("coupncdeC0000003");voucherInfo1.setVoucherType("DISC_VOUCHER");
  6. voucherInfo1.setVoucherCoNumber(null);voucherInfo1.setLabourCost(0.0);voucherInfo1.setWeight(0.0);
  7. voucherInfo1.setVoucherValue(1000.0);voucherInfo1.setRefMetalPrice(0.0);
  8. voucherInfo2.setVoucherCode("coupncdeC0000001");voucherInfo2.setVoucherType("DISC_VOUCHER");
  9. voucherInfo2.setVoucherCoNumber(null);voucherInfo2.setLabourCost(0.0);voucherInfo2.setWeight(0.0);
  10. voucherInfo2.setVoucherValue(1000.0);voucherInfo2.setRefMetalPrice(0.0);
  11. vouchers.add(voucherInfo1);vouchers.add(voucherInfo2);
  12. double ecoupon_amt=0;
  13. if(null != vouchers && vouchers.size()>0){
  14. JSONArray vouchersListJsonArray = JSONArray.fromObject(vouchers);
  15. String vouchersListJson=vouchersListJsonArray.toString();
  16. System.out.println(vouchersListJson);
  17. if(null != vouchersListJson){
  18. JSONArray jsonArray1 = JSONArray.fromObject(vouchersListJson);
  19. //循环获取json数组中的 json 对象,然后转换为 object
  20. for (int j = 0; j < jsonArray1.size(); j++) {
  21. JSONObject jsonObject2 = jsonArray1.getJSONObject(j);
  22. VoucherInfo cust = (VoucherInfo) JSONObject.toBean(jsonObject2, VoucherInfo.class);
  23. ecoupon_amt=ecoupon_amt+cust.getVoucherValue();
  24. }
  25. }
  26. }
  27. System.out.println(ecoupon_amt);
  28. }

发表评论

表情:
评论列表 (有 0 条评论,3056人围观)

还没有评论,来说两句吧...

相关阅读