2.Object get(String key) :根据key值获取JSONObject对象中对应的value值
比来一直有用到解析各类数据,主要是用FastJson进行数据解析,此中一个重要的类为JSONObject,今天有时间,所以进行总结一下:
JSONobject是FastJson供给的东西,在api中是用一个私有的常量map进行封装的,实际就是一个map,,只不过FastJson对其进行了封装,
添加了很多便利快捷的属性要领。
private final Map<String, Object> map;
在项目中添加maven依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.48</version> </dependency>
先来看下它有哪些常用要领,以及有什么感化:
1.put(String key, Object value)要领,在JSONObject东西中设置键值对在,在进行设值得时候,key是独一的,如果用不异的key不停设值得时候,保存后面的值。
2.Object get(String key) :按照key值获取JSONObject东西中对应的value值,获取到的值是Object类型,需要手动转化为需要的数据类型
3.int size():获取JSONObject东西中键值对的数量
4.boolean isEmpty():判断该JSONObject东西是否为空
5.containsKey(Object key):判断是否有需要的key值
6.boolean containsValue(Object value):判断是否有需要的value值
7.JSONObject getJSONObject(String key):如果JSONObjct东西中的value是一个JSONObject东西,即按照key获取对应的JSONObject东西;
8.JSONArray getJSONArray(String key) :如果JSONObject东西中的value是一个JSONObject数组,既按照key获取对应的JSONObject数组;
9.Object remove(Object key):按照key断根某一个键值对。
由于JSONObject是一个map,它还具有map特有的两个要领:
10.Set<String> keySet() :获取JSONObject中的key,并将其放入Set调集中
11.Set<Map.Entry<String, Object>> entrySet():在循环遍历时使用,取得是键和值的映射关系,Entry就是Map接口中的内部接口
与String字符串转换:
12.toJSONString() /toString():将JSONObject东西转换为json的字符串
常用的要领主要为以上这些,下面列出使用这些要领的example:
public static void main(String[] args) { //新建JSONObject东西 JSONObject object1 = new JSONObject(); //1.在JSONObject东西中放入键值对 object1.put("name", "张三"); object1.put("name1", "张三1"); object1.put("name2", "张三2"); //2.按照key获取value String name = (String) object1.get("name"); System.out.println(name); //3.获取JSONObject中的键值对个数 int size = object1.size(); System.out.println(size); //4.判断是否为空 boolean result = object1.isEmpty(); System.out.println(result); //5.是否包罗对应的key值,包罗返回true,不包罗返回false boolean isContainsKeyResult = object1.containsKey("name"); System.out.println(isContainsKeyResult); //6.是否包罗对应的value值,包罗返回true,不包罗返回false boolean isContainsValueResult = object1.containsValue("王五"); System.out.println(isContainsValueResult); //7.JSONObjct东西中的value是一个JSONObject东西,即按照key获取对应的JSONObject东西; JSONObject object2 = new JSONObject(); //将jsonobject东西作为value进行设置 object2.put("student1", object1); JSONObject student =object2.getJSONObject("student1"); System.out.println(student); //8.如果JSONObject东西中的value是一个JSONObject数组,既按照key获取对应的JSONObject数组; JSONObject objectArray = new JSONObject(); //创建JSONArray数组 JSONArray jsonArray = new JSONArray(); //在JSONArray数组设值:jsonArray.add(int index, Object value); jsonArray.add(0, "this is a jsonArray value"); jsonArray.add(1, "another jsonArray value"); objectArray.put("testArray", jsonArray); //获取JSONObject东西中的JSONArray数组 JSONArray jsonArray2 = objectArray.getJSONArray("testArray"); System.out.println(jsonArray2); //9.remove.按照key移除JSONObject东西中的某个键值对 object1.remove("name"); System.out.println(object1); //10.取得JSONObject东西中key的调集 Set<String> keySet= object1.keySet(); for (String key : keySet) { System.out.print(" "+key); } System.out.println(); //11.取得JSONObject东西中的键和值的映射关系 Set<Map.Entry<String, Object>> entrySet = object1.entrySet(); for (Entry<String, Object> entry : entrySet) { System.out.println(entry); } //12.转换为json字符串 String str1 = object1.toJSONString(); System.out.println(str1); String str2 =object1.toString(); System.out.println(str2); }
运行以上措施的功效为:
FastJson中JSONObject用法及常用要领总结
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/33181.html