关于JsonObject的笔记

JsonObject继承与Jsonhtml

JSONArray中对象的顺序是不会变化的,也就是put进去的时候是什么顺序,取的时候就是什么顺序。java

https://blog.csdn.net/weixin_39214304/article/details/80652931json

JSONObject put数据以后,排序会发生变化,由于jsonobject内部是经过hashmap来实现的,会无序,若是想要变成有序,ui

能够经过下面方法来实现,这种对于加密来讲顺序实在过重要;加密

当json字符串须要转为json对象时, 通常用这个JSON.parseObject(aaa),可是这个方法可能致使顺序变乱,spa

用下面的方法能够避免这种状况,.net

LinkedHashMap<String,String> requestObject = JSON.parseObject(aaa,LinkedHashMap.class,Feature.OrderedField);code

而后再将requestObject 转为jsonhtm

JSONObject jsonObject = new JSONObject(true);这个true的做用是:后面加入的参数,都是是有序的,不加true默认是无序的https://blog.csdn.net/shi0299/article/details/52515355
      jsonObject.putAll(jsonMap);

 

jsonobject和hashmap互转对象

HashMap<String,String> abc=JSON.parseObject(testparams,HashMap.class);

jsonobject转map见连接https://www.cnblogs.com/jpfss/p/8625526.html

 

JSON.parseObject(String str)和JsonObject.parseObject(String str)是没有区别的,调用的都是系统一个方法,都是把字符串转为jsonobject对象 

JSON.parseObject(String str)是将str转化为相应的JSONObject对象,其中str是“键值对”形式的json字符串,转化为JSONObject对象以后就可使用其内置的方法,进行各类处理了

根据源码显示:JSON是一个抽象类,JSON中有一个静态方法parseObject(String text),将text解析为一个JSONObject对象并返回;JSONObject是一个继承自JSON的类,当调用JSONObject.parseObject(result)时,会直接调用父类的parseObject(String text)。因此二者没什么区别,一个是用父类去调用父类本身的静态的parseObject(String text),一个是用子类去调用父类的静态parseObject(String text),二者调的是同一个方法;

JsonObject.parseObject(String str)和JSONObject.fromObject(jsonStr);区别

功能是差很少的,导入的类不一样而已;

虽然都是返回JSONObject,可是区别仍是比较大的

JSONObject.parseObject(a);      这个方法须要导入import com.alibaba.fastjson.JSONObject;   a要求是json字符串

JSONObject.fromObject(b);    这个方法须要导入import net.sf.json.JSONObject; b是java对象

 

还有就是

JsonObject的tostring()和tojsonString()的区别:首先2个都是将jsonobject对象转为json字符串.实际上JsonObject的tostring()内部调的仍是tojsonString(),同一个方法;

还有就是JSON.toJSONString(js)和JsonObject的tojsonString()区别:

JSON.toJSONString(js)是将别的对象转换为json字符串,好比map对象,而JsonObject的tojsonString()的方法,是只针对JsonObject的对象的;

好比:

  JSONObject js=new JSONObject();
  js.put("fads", "fgsd");

  String a=js.toJSONString();

 

        HashMap<String, String> hm= new HashMap<>();

         hm.put( "张三" "李四" );
         hm.put( "uik" , "rfe" );
         System.out.println(hm.toString());
         String a=JSON.toJSONString(hm);
         System.out.println(a);
相关文章
相关标签/搜索