因为工作中分使用到了JSONObject,所以工作之余自己测试下下JSONOBject功能

该博客展示了如何使用JSONObject进行空参实例化及如何将Map和实体类转换为JSONObject。通过示例代码,解释了JSONObject在存储实体类属性时只包含有值字段的特点,并演示了从JSONObject中取出实体类和实体类集合的方法。
摘要由CSDN通过智能技术生成

空参构造方法

   public static void main(String[] args) {

        JSONObject json=new JSONObject();
        System.out.println(json);
    }
}

控制台输出:

{}

可以看出空参实例化JSONOBject就是一个孔的json对象

实例化放入一个map  

public class Test {

    public static void main(String[] args) {
        List<TDtEntity> tdt=new ArrayList<>();
        TDtEntity t=new TDtEntity();
        t.setDtCode("1");
        TDtEntity t1=new TDtEntity();
        t1.setDtCode("2");
        TDtEntity t2=new TDtEntity();
        t2.setDtCode("3");
        tdt.add(t);
        tdt.add(t1);
        tdt.add(t2);

        Map map=new HashMap<String,Object>();
        map.put("TDt",tdt);

        JSONObject json=new JSONObject(map);
        System.out.println(json);
        System.out.println(map);
    }
}

控制台输出

{"TDt":[{"dtCode":"1"},{"dtCode":"2"},{"dtCode":"3"}]}
{TDt=[TDtEntity(dtCode=1, dtName=null, dtS1=null, dtH11=null, dtH12=null, dtMiu11=null, dtMiu12=null, dtBeta1=null, dtS2=null, dtH21=null, dtH22=null, dtMiu21=null, dtMiu22=null, dtBeta2=null, dtS3=null, dtH31=null, dtH32=null, dtBeta3=null, dtDefault=null), TDtEntity(dtCode=2, dtName=null, dtS1=null, dtH11=null, dtH12=null, dtMiu11=null, dtMiu12=null, dtBeta1=null, dtS2=null, dtH21=null, dtH22=null, dtMiu21=null, dtMiu22=null, dtBeta2=null, dtS3=null, dtH31=null, dtH32=null, dtBeta3=null, dtDefault=null), TDtEntity(dtCode=3, dtName=null, dtS1=null, dtH11=null, dtH12=null, dtMiu11=null, dtMiu12=null, dtBeta1=null, dtS2=null, dtH21=null, dtH22=null, dtMiu21=null, dtMiu22=null, dtBeta2=null, dtS3=null, dtH31=null, dtH32=null, dtBeta3=null, dtDefault=null)]}

可以看出JSONObject对象里面存放的只有有值的属性,没有赋值的属性并没有存放到JSONObject中

JSONObject取出实体类

JSONObject取出实体类集合

        TFragmentEntity tFragmentEntity=new TFragmentEntity();
        tFragmentEntity.setFragIndex("tFragmentEntity");

        List<TDtEntity> tdt=new ArrayList<>();
        TDtEntity t=new TDtEntity();
        t.setDtCode("1");
        TDtEntity t1=new TDtEntity();
        t1.setDtCode("2");
        TDtEntity t2=new TDtEntity();
        t2.setDtCode("3");
        tdt.add(t);
        tdt.add(t1);
        tdt.add(t2);

        Map map=new HashMap<String,Object>();
        map.put("TDt",tdt);
        map.put("tFragmentEntity",tFragmentEntity);
        

        JSONObject newJson=new JSONObject();
        newJson.put("TDt",tdt);
        newJson.put("tFragmentEntity",tFragmentEntity);
        TFragmentEntity tFragment =(TFragmentEntity) newJson.get("tFragmentEntity");
        List<TDtEntity> t11 =(List<TDtEntity>) newJson.get("TDt");

        System.out.println("tFragmentEntity实体类:"+tFragment);
        System.out.println(t11);

控制台输出

TFragmentEntity(fragIndex=tFragmentEntity, riverIndex=null, boutertyperwater=null, borderh=null, borderq=null, fragR=null, fragA=null, fragB=null, fragC=null, fragD=null, fragE=null, fragF=null, fragG=null, fragH=null, fragP=null, fragV=null, fragS=null, fragT=null)
[TDtEntity(dtCode=1, dtName=null, dtS1=null, dtH11=null, dtH12=null, dtMiu11=null, dtMiu12=null, dtBeta1=null, dtS2=null, dtH21=null, dtH22=null, dtMiu21=null, dtMiu22=null, dtBeta2=null, dtS3=null, dtH31=null, dtH32=null, dtBeta3=null, dtDefault=null), TDtEntity(dtCode=2, dtName=null, dtS1=null, dtH11=null, dtH12=null, dtMiu11=null, dtMiu12=null, dtBeta1=null, dtS2=null, dtH21=null, dtH22=null, dtMiu21=null, dtMiu22=null, dtBeta2=null, dtS3=null, dtH31=null, dtH32=null, dtBeta3=null, dtDefault=null), TDtEntity(dtCode=3, dtName=null, dtS1=null, dtH11=null, dtH12=null, dtMiu11=null, dtMiu12=null, dtBeta1=null, dtS2=null, dtH21=null, dtH22=null, dtMiu21=null, dtMiu22=null, dtBeta2=null, dtS3=null, dtH31=null, dtH32=null, dtBeta3=null, dtDefault=null)]
{"TDt":[{"dtCode":"1"},{"dtCode":"2"},{"dtCode":"3"}]}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值