JSONObject 的清除

JSONObject 的清除

原因:在循环内,亦或其它需要重复使用某json的情况下。

.clear()方法:

		ArrayList<JSONObject> item = new ArrayList<JSONObject>();
        JSONObject sendAuth2 = new JSONObject();
        sendAuth2.put("1",1);
        item.add(sendAuth2);
        System.out.println(item);
        sendAuth2.clear();
        
        //sendAuth2 = null;
        //sendAuth2 = new JSONObject();
        sendAuth2.put("2",2);
        System.out.println(sendAuth2);
        System.out.println(item);

结果:

[{"1":1}]
{"2":2}
[{"2":2}]

可以看出,clear之后,引用方与清除方数据均发生变化。
不符合需求,pass。
数据存储在地址,clear清除为对地址进行改变,暂不知是将地址迁移,还是删除地址数据。所以导致引用方数据也发生了变化。

new JSONObject():

   ArrayList<JSONObject> item = new ArrayList<JSONObject>();
       JSONObject sendAuth2 = new JSONObject();
       sendAuth2.put("1",1);
       item.add(sendAuth2);
       System.out.println(item);
       //sendAuth2.clear();

       //sendAuth2 = null;
       sendAuth2 = new JSONObject();
       sendAuth2.put("2",2);
       System.out.println(sendAuth2);
       System.out.println(item);

结果:

[{"1":1}]
{"2":2}
[{"1":1}]

与我们所需结果一致。

null:

   ArrayList<JSONObject> item = new ArrayList<JSONObject>();
       JSONObject sendAuth2 = new JSONObject();
       sendAuth2.put("1",1);
       item.add(sendAuth2);
       System.out.println(item);
       //sendAuth2.clear();

       sendAuth2 = null;
       //sendAuth2 = new JSONObject();
       sendAuth2.put("2",2);
       System.out.println(sendAuth2);
       System.out.println(item);

结果:

[{"1":1}]
Exception in thread "main" java.lang.NullPointerException
   at com.seeyon.demo.main(demo.java:24)

这个不晓得是哪位神仙说的赋值为null,引以为戒啊码友们。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据您提供的引用内容,我理解您的问题是关于JSONObject jsonObject的区别。根据和,JSONObject是org.json.JSONObject包中的类,JsonObject是com.google.gson.JsonObject包中的类。它们都用于处理JSON数据,但是它们在实现和用法上有一些区别。 JSONObject是JSON-java库中的一个类,它提供了处理JSON数据的方法和功能。通过使用JSON-java库中的JSON.parseObject方法,您可以将JSON格式的字符串转换为JSONObject对象,如中所示。JSONObject提供了获取和设置JSON属性的方法,以及将JSON对象转换为字符串的方法。 JsonObject是Gson库中的一个类,它也提供了处理JSON数据的方法和功能。使用JsonObject.parseObject方法可以将JSON格式的字符串转换为JsonObject对象。JsonObject提供了获取和设置JSON属性的方法,以及将JSON对象转换为字符串的方法。 根据您的问题,由于缺少上下文,无法确定您想要了解的具体区别。但是一般来说,这两个类的主要区别在于它们所属的库和实现细节。如果您正在使用JSON-java库,那么您应该使用JSONObject类。如果您正在使用Gson库,则应使用JsonObject类。 请注意,这只是对JSONObjectJsonObject的一般描述,具体的区别可能会受到使用的库版本和实现的影响。为了更好地理解它们的区别,建议您查阅相关文档或官方指南。 希望这个回答能够解决您的疑问。如果您还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值