关于使用JSON.toJSONString(参数1,参数2)
Sku基本类如下
public class Sku { // 编号 private Integer skuId; // 商品名称 private String skuName; // 单价 private Double skuPrice; // 购买个数 private Integer totalNum; // 总价 private Double totalPrice; // 商品类型 private Enum skuCategory; //全参 无参 构造器 //插入基本的set get方法 @Override public String toString() { return "Sku{" + "skuId=" + skuId + ", skuName=" + skuName + + ", skuPrice=" + skuPrice + ", totalNum=" + totalNum + ", totalPrice=" + totalPrice + ", skuCategory=" + skuCategory + }; } }
测试类
@Test public void findFirstTest(){ Optional<Sku> optional = list.stream() .findFirst(); System.out.println("结果1----optional = " + optional.get()); System.out.println("----------"); System.out.println(“结果2----”+JSON.toJSONString(optional.get(),false)); System.out.println("----------"); System.out.println(“结果3——”+JSON.toJSONString(optional.get(),true)); }
结果输出
结果1----optional = Sku{ skuId=654032, skuName=无人机, skuPrice=4999.0, totalNum=1, totalPrice=4999.0, skuCategory=ELECTRONICS} ---------- 结果2----{ "skuCategory":"ELECTRONICS","skuId":654032,"skuName":"无人机","skuPrice":4999.0,"totalNum":1,"totalPrice":4999.0} ---------- 结果3----{ "skuCategory":"ELECTRONICS", "skuId":654032, "skuName":"无人机", "skuPrice":4999.0, "totalNum":1, "totalPrice":4999.0 }
讨论
如果pojo基本类里没有重写toString方法,结果会不会不一样? ——答案:不一样。结果如下。 没写toString,输出会没有结果,如结果1 但此时,JSON.toJSONString却能正常输出 另外,JSON.toJSONString的参数2,决定展示效果 false是结果2 true是结果3
结果1----optional = com.具体路径.cart.Sku@704921a5 ---------- 结果2----{ "skuCategory":"ELECTRONICS","skuId":654032,"skuName":"无人机","skuPrice":4999.0,"totalNum":1,"totalPrice":4999.0} ---------- 结果3----{ "skuCategory":"ELECTRONICS", "skuId":654032, "skuName":"无人机", "skuPrice":4999.0, "totalNum":1, "totalPrice":4999.0 }
下一篇:
java 创建对象有哪几种方式