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

94 篇文章 0 订阅
20 篇文章 0 订阅

目录

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

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

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


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

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;

import com.css.eshop.exception.DataAccessException;
import com.css.eshop.model.VoucherInfo;
import com.css.eshop.util.HttpClientUtil;
import com.css.eshop.util.LoadStaticReferenceTables;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class TestPut {
	protected Log logger = LogFactory.getLog(this.getClass().getName());
	
	@Test
	public void getOneJson(){//测试转换成Json,单个对象
		VoucherInfo vo1=new VoucherInfo();
		vo1.setVoucherValue(2131);vo1.setVoucherCode("小可爱的");
		JSONObject updateJsonObj = JSONObject.fromObject(vo1);//转换成json格式
		logger.info("---转换成json格式:---"+updateJsonObj.toString());//提取access_token节点数据
	}
}

输出转换后日志:

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

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

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

输出日志:

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提取数据

	@Test
	public void test1210() {
		List<VoucherInfo> vouchers=new ArrayList<VoucherInfo>();
		VoucherInfo voucherInfo1=new VoucherInfo();VoucherInfo voucherInfo2=new VoucherInfo();
		voucherInfo1.setVoucherCode("coupncdeC0000003");voucherInfo1.setVoucherType("DISC_VOUCHER");
		voucherInfo1.setVoucherCoNumber(null);voucherInfo1.setLabourCost(0.0);voucherInfo1.setWeight(0.0);
		voucherInfo1.setVoucherValue(1000.0);voucherInfo1.setRefMetalPrice(0.0);
		
		voucherInfo2.setVoucherCode("coupncdeC0000001");voucherInfo2.setVoucherType("DISC_VOUCHER");
		voucherInfo2.setVoucherCoNumber(null);voucherInfo2.setLabourCost(0.0);voucherInfo2.setWeight(0.0);
		voucherInfo2.setVoucherValue(1000.0);voucherInfo2.setRefMetalPrice(0.0);
		vouchers.add(voucherInfo1);vouchers.add(voucherInfo2);
		double ecoupon_amt=0;
		if(null != vouchers  && vouchers.size()>0){
			JSONArray vouchersListJsonArray = JSONArray.fromObject(vouchers);
			String vouchersListJson=vouchersListJsonArray.toString();
			
			System.out.println(vouchersListJson);
			if(null != vouchersListJson){
				JSONArray jsonArray1 = JSONArray.fromObject(vouchersListJson);
				//循环获取json数组中的 json 对象,然后转换为 object
		        for (int j = 0; j < jsonArray1.size(); j++) {  
		            JSONObject jsonObject2 = jsonArray1.getJSONObject(j);  
		            VoucherInfo cust = (VoucherInfo) JSONObject.toBean(jsonObject2, VoucherInfo.class);  
		            ecoupon_amt=ecoupon_amt+cust.getVoucherValue();
		        }  
			}
		}
		System.out.println(ecoupon_amt);
	}

 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要使用Java KeyStore(JKS)类读取jks文件。然后,需要使用Java Cryptography Extension(JCE)库中的类将JKS文件中的公钥转换JSON Web Key Set(JWKS)格式。 以下是一个示例代码,演示如何将JKS文件转换为JWKS文件: ```java import java.io.FileInputStream; import java.io.FileOutputStream; import java.security.KeyStore; import java.security.cert.Certificate; import java.security.interfaces.RSAPublicKey; import java.util.ArrayList; import java.util.List; import com.nimbusds.jose.jwk.JWK; import com.nimbusds.jose.jwk.JWKSet; import com.nimbusds.jose.jwk.RSAKey; public class JksToJwksConverter { public static void main(String[] args) throws Exception { // Load JKS file String jksFilePath = "path/to/keystore.jks"; String jksPassword = "keystore_password"; String alias = "alias_of_public_key"; FileInputStream is = new FileInputStream(jksFilePath); KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType()); keystore.load(is, jksPassword.toCharArray()); // Get public key from JKS file Certificate cert = keystore.getCertificate(alias); RSAPublicKey publicKey = (RSAPublicKey) cert.getPublicKey(); // Create JWK object from public key RSAKey rsaKey = new RSAKey.Builder(publicKey).build(); List<JWK> jwkList = new ArrayList<JWK>(); jwkList.add(rsaKey); JWKSet jwkSet = new JWKSet(jwkList); // Write JWK set to file String jwksFilePath = "path/to/jwks.json"; FileOutputStream os = new FileOutputStream(jwksFilePath); os.write(jwkSet.toJSONObject().toString().getBytes()); os.flush(); os.close(); } } ``` 此代码依赖于Nimbus JOSE + JWT库,您需要将其添加到您的项目中。您可以从以下网址下载该库: https://connect2id.com/products/nimbus-jose-jwt/download 请注意,此代码仅适用于包含单个RSA公钥的JKS文件。如果您的JKS文件包含多个密钥对,请相应地更改代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值