jsonobject中getkey_FastJson中JSONObject用法及常用方法总结
本文为博主原创,未经允许不得转载:
最近一直有用到解析各种数据,主要是用FastJson进行数据解析,其中一个重要的类为JSONObject,今天有时间,所以进行总结一下:
JSONobject是FastJson提供的对象,在api中是用一个私有的常量map进行封装的,实际就是一个map,只不过FastJson对其进行了封装,
添加了很多方便快捷的属性方法。
private final Map map;
在项目中添加maven依赖
com.alibaba
fastjson
1.2.48
先来看下它有哪些常用方法,以及有什么作用:
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 keySet() :获取JSONObject中的key,并将其放入Set集合中
11.Set> entrySet():在循环遍历时使用,取得是键和值的映射关系,Entry就是Map接口中的内部接口
与String字符串转换:
12.toJSONString() /toString():将JSONObject对象转换为json的字符串
常用的方法主要为以上这些,下面列出使用这些方法的example:
public static voidmain(String[] args) {//新建JSONObject对象
JSONObject object1 = newJSONObject();//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 = newJSONObject();//将jsonobject对象作为value进行设置
object2.put("student1", object1);
JSONObject student=object2.getJSONObject("student1");
System.out.println(student);//8.如果JSONObject对象中的value是一个JSONObject数组,既根据key获取对应的JSONObject数组;
JSONObject objectArray = newJSONObject();//创建JSONArray数组
JSONArray jsonArray = newJSONArray();//在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 keySet=object1.keySet();for(String key : keySet) {
System.out.print(" "+key);
}
System.out.println();//11.取得JSONObject对象中的键和值的映射关系
Set> entrySet =object1.entrySet();for (Entryentry : entrySet) {
System.out.println(entry);
}//12.转换为json字符串
String str1 =object1.toJSONString();
System.out.println(str1);
String str2=object1.toString();
System.out.println(str2);
}
运行以上程序的结果为:
最近感悟(不喜勿喷):
越长大越理解得别人的不容易,也发现自己更多的无奈和不容易,有很多想去照顾的人,想去做的事,却发现自己的能力只能承担起一丁点。想家了
jsonobject中getkey_FastJson中JSONObject用法及常用方法总结相关推荐
- JAVA中 fastjson判断JSONObject是否为空,方法isEmpty()
JAVA中 fastjson判断JSONObject是否为空 package com.map;import com.alibaba.fastjson.JSONObject;/*** 判断JSONObj ...
- fastjson中JSONArray和JSONObject
1 什么是JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于javascript Prog ...
- java jsonobject 赋值_Java中JSONObject相关操作
maven项目pom配置: net.sf.json-lib json-lib 2.4 jdk15 importnet.sf.json.JSONObject;//报文 String report=&qu ...
- java类似keyvaluepair_Java中仿C#中KeyValuePair序列化jsonObject
/// /// 序列化JSONObject对象 /// /// /// public static string SerializeObject(JSONObject jsonObject) { St ...
- java中关于引用net.sf.json.JSONObject 和org.json.JSONObject 的差别
一.首先今天在写一个功能时遇到和这个问题,就是在调用的百度识别接口需要这个json包,而我平常解 析json习惯了用这个包,那么问题问题来了: 1. 用这个的时候,引入的包是org.js ...
- php中条件查询语句,thinkphp3.2框架中where条件查询用法总结
本文实例讲述了thinkphp3.2框架中where条件查询用法.分享给大家供大家参考,具体如下: thinkphp3.2 where 条件查询 在连贯操作中条件where的操作有时候自己很晕,所以整 ...
- list中的linkedlist的用法
list中的linkedlist的用法: LinkedList是list接口的链表实现方式. LinkedList类为在链表的开头及结尾获取(get).删除(remove).和插入(insert)元素 ...
- PHP中魔术方法的用法
PHP中魔术方法的用法 /** PHP把所有以__(两个下划线)开头的类方法当成魔术方法.所以你定义自己的类方法时,不要以 __为前缀. * */// __toString.__set.__get__ ...
- 简单介绍SQLserver中的declare变量用法
这篇文章主要介绍了SQLserver中的declare变量用法,sql中declare是声明的意思,就是声明变量的,这个一般是用在函数和存储过程中的.感兴趣的可以来了解一下 平时写SQL查询.存储过程 ...
最新文章
- 【C++ 语言】C++字符串 ( string 类 | 创建方法 | 控制台输出 | 字符串操作 | 栈内存字符串对象 | string* )
- 什么是pretext tasks?
- vue 设置 input 为不可以编辑
- [UE4]多个Montage之间存在协作问题
- html5中地理位置,Chrome中的HTML 5地理位置提示
- SQL62 出现三次以上相同积分的情况
- JAVA8给我带了什么——并流行和接口新功能
- torch.optim.lr_scheduler:调整学习率
- jsp session 的状态保持, cookie的跨域访问(一)
- 2015恒生电子校招笔试题
- ArcBlock 活动 | 亮相西雅图重量级大会 全球共识建设进入新阶段
- 同学,你这简历上没项目啊!
- sqlite只能用于android系统,android SQLite
- 软件测试工程师该如何规划自己的职业发展道路?
- CSS综合案例——淘宝轮播图/焦点图布局的制作
- 如何给注册中心锦上添花?
- 千古奇文《钱本草》:看透金钱本质!
- 定时锁定计算机代码bat,批处理 实现定时关机、注销、重启、锁定等功能
- RHCA-RH318 V4.1-RHV虚拟化
- Flink结合Kafka实时写入Iceberg实践笔记
热门文章
- SM02 发送系统消息给所有Client用户
- abap 调用外部web service 使用小结
- 更新自定义表时的通用锁对象
- 如何编写多client多公司的增强
- matlab中鼠标光标后面的阴影怎么去除,UG在绘图是拖动鼠标出现残影怎么回事?看看这个方法就知道了...
- 塑钢瓦图片_塑钢瓦和彩钢瓦哪种好 如何准确选购
- Linux中sftp加权限,Linux 搭建Sftp服务并进行权限设置
- ffmpeg库编译加文字_ffmpeg第三方库编译记录
- kali linux切换更新源_使用Xshell链接Linux、kali更换更新源及kali安装软件
- python 利用 for ... else 跳出双层嵌套循环