FastJson中JSONObject⽤法及常⽤⽅法总结
本⽂为博主原创,未经允许不得转载:
最近⼀直有⽤到解析各种数据,主要是⽤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对象是否为空
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字符串转换:
常⽤的⽅法主要为以上这些,下⾯列出使⽤这些⽅法的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) ("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 = ainsKey("name");
System.out.println(isContainsKeyResult);
//6.是否包含对应的value值,包含返回true,不包含返回false
boolean isContainsValueResult = ainsValue("王五");
System.out.println(isContainsValueResult);
//7.JSONObjct对象中的value是⼀个JSONObject对象,即根据key获取对应的JSONObject对象;
JSONObject object2 = new JSONObject();
/
/将jsonobject对象作为value进⾏设置
object2.put("student1", object1);
JSONObject student =JSONObject("student1");
System.out.println(student);
//8.如果JSONObject对象中的value是⼀个JSONObject数组,既根据key获取对应的JSONObject数组;
JSONObject objectArray = new JSONObject();
//创建JSONArray数组
json值的类型有哪些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 = JSONArray("testArray");
System.out.println(jsonArray2);
//9.remove.根据key移除JSONObject对象中的某个键值对
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 = Set();
for (Entry<String, Object> entry : entrySet) {
System.out.println(entry);
}
//12.转换为json字符串
String str1 = JSONString();
System.out.println(str1);
String str2 =String();
System.out.println(str2);
}
运⾏以上程序的结果为:
最近感悟(不喜勿喷):
越长⼤越理解得别⼈的不容易,也发现⾃⼰更多的⽆奈和不容易,有很多想去照顾的⼈,想去做的事,却发现⾃⼰的能⼒只能承担起⼀丁点。想家了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论