Json是一种轻量级的数据交换格式,采用一种“键:值”对的文本格式来存储和表示数据,在系统交换数据过程中常常被使用,是一种理想的数据交换语言。在使用Java做Web开发时,不可避免的会遇到Json的使用。
初始化一个Map:
Map<String, Object> divSpilt = new HashMap<>();
divSpilt.put("ord_amt","10000.00");
divSpilt.put("fee_amt","60");
divSpilt.put("formula","AMT*0.0060");
Map<String,Object> realDivSpilt = new HashMap<> ();
AcctInfo acctInfo = new AcctInfo();
acctInfo.setAcctId("11657984");
acctInfo.setAcctType("");
acctInfo.setCustId("6666000008864974");
acctInfo.setDivAmt("14.50");
acctInfo.setIsDelayAcct("0");
acctInfo.setMerId("RPOS01");
realDivSpilt.put("C账户",acctInfo);
AcctInfo merAcctInfo = new AcctInfo();
merAcctInfo.setAcctId("12461154");
merAcctInfo.setAcctType("");
merAcctInfo.setCustId("6666000009353270");
merAcctInfo.setDivAmt("9987.00");
merAcctInfo.setIsDelayAcct("0");
merAcctInfo.setMerId("RPOS01");
realDivSpilt.put("商户分账1",merAcctInfo);
AcctInfo merAcctInfo1 = new AcctInfo();
merAcctInfo1.setAcctId("12461154");
merAcctInfo1.setAcctType("");
merAcctInfo1.setCustId("6666000009353270");
merAcctInfo1.setDivAmt("47.00");
merAcctInfo1.setIsDelayAcct("0");
merAcctInfo1.setMerId("RPOS01");
realDivSpilt.put("商户分账2",merAcctInfo1);
divSpilt.put("分账串",realDivSpilt);
在此之前,需要引入fastjson的依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.35</version>
</dependency>
1、Map转Json
//map转JSON
JSONObject jsonObject = new JSONObject(divSpilt);
log.info("map转JSON的结果是:{}",acctDiv);
2、Map转String
//map转String
String acctDiv = JSONObject.toJSONString(divSpilt);
log.info("map转String的结果是:{}",acctDiv);
运行结果: