因为xml太复杂, 所以现在简单的服务 都用json传送, 性能高,容量小, 速度快. 现在不管是阿里的云, 还是企鹅的微信支付 都是这样.
现在流行的json解释包有几种, 阿里的, net.sf, org的, 因为代码里都用过, 所以来吐下net.sf的烦之处: 异常.
看下面代码:
package com.test;
import net.sf.json.JSONObject;
public class DemoJson {
public static void main(String[] args) {
String jsonStr = "{\"bzRate\":\"99.4\",\"goodQtyz\":\"1100\",\"gxRate\":\"99.64\",\"tranDate\":\"2019061301\",\"workQtyz\":\"1104\"}";
JSONObject jsonObj = JSONObject.fromObject(jsonStr);
//正常读取对象, 没有返回 null, 不产生异常
Object tranDate = jsonObj.get("tranDate");
Object tranDate2 = jsonObj.get("tranDate2");
//结果: tranDate = 2019061301, tranDate2 = null
System.out.println("tranDate = "+tranDate +", tranDate2 = "+tranDate2);
//按类型读取, 因为tranDate2 没有, 则产生异常, 这一点不敢同意 net.sf 大师的写法: 正确的方式应返加 null 对象
String tranDateStr = jsonObj.getString("tranDate");
String tranDateStr2 = jsonObj.getString("tranDate2");
//结果: 异常
System.out.println("