javascript
jsonobject中getkey_FastJson中JSONObject用法及常用方法总结
本文為博主原創(chuàng),未經(jīng)允許不得轉(zhuǎn)載:
最近一直有用到解析各種數(shù)據(jù),主要是用FastJson進(jìn)行數(shù)據(jù)解析,其中一個(gè)重要的類為JSONObject,今天有時(shí)間,所以進(jìn)行總結(jié)一下:
JSONobject是FastJson提供的對象,在api中是用一個(gè)私有的常量map進(jìn)行封裝的,實(shí)際就是一個(gè)map,只不過FastJson對其進(jìn)行了封裝,
添加了很多方便快捷的屬性方法。
private final Map map;
在項(xiàng)目中添加maven依賴
com.alibaba
fastjson
1.2.48
先來看下它有哪些常用方法,以及有什么作用:
1.put(String key, Object value)方法,在JSONObject對象中設(shè)置鍵值對在,在進(jìn)行設(shè)值得時(shí)候,key是唯一的,如果用相同的key不斷設(shè)值得時(shí)候,保留后面的值。
2.Object get(String key) :根據(jù)key值獲取JSONObject對象中對應(yīng)的value值,獲取到的值是Object類型,需要手動(dòng)轉(zhuǎn)化為需要的數(shù)據(jù)類型
3.int size():獲取JSONObject對象中鍵值對的數(shù)量
4.boolean isEmpty():判斷該JSONObject對象是否為空
5.containsKey(Object key):判斷是否有需要的key值
6.boolean containsValue(Object value):判斷是否有需要的value值
7.JSONObject getJSONObject(String key):如果JSONObjct對象中的value是一個(gè)JSONObject對象,即根據(jù)key獲取對應(yīng)的JSONObject對象;
8.JSONArray getJSONArray(String key) :如果JSONObject對象中的value是一個(gè)JSONObject數(shù)組,既根據(jù)key獲取對應(yīng)的JSONObject數(shù)組;
9.Object remove(Object key):根據(jù)key清除某一個(gè)鍵值對。
由于JSONObject是一個(gè)map,它還具有map特有的兩個(gè)方法:
10.Set keySet() :獲取JSONObject中的key,并將其放入Set集合中
11.Set> entrySet():在循環(huán)遍歷時(shí)使用,取得是鍵和值的映射關(guān)系,Entry就是Map接口中的內(nèi)部接口
與String字符串轉(zhuǎn)換:
12.toJSONString() /toString():將JSONObject對象轉(zhuǎn)換為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.根據(jù)key獲取value
String name = (String) object1.get("name");
System.out.println(name);//3.獲取JSONObject中的鍵值對個(gè)數(shù)
int size =object1.size();
System.out.println(size);//4.判斷是否為空
boolean result =object1.isEmpty();
System.out.println(result);//5.是否包含對應(yīng)的key值,包含返回true,不包含返回false
boolean isContainsKeyResult = object1.containsKey("name");
System.out.println(isContainsKeyResult);//6.是否包含對應(yīng)的value值,包含返回true,不包含返回false
boolean isContainsValueResult = object1.containsValue("王五");
System.out.println(isContainsValueResult);//7.JSONObjct對象中的value是一個(gè)JSONObject對象,即根據(jù)key獲取對應(yīng)的JSONObject對象;
JSONObject object2 = newJSONObject();//將jsonobject對象作為value進(jìn)行設(shè)置
object2.put("student1", object1);
JSONObject student=object2.getJSONObject("student1");
System.out.println(student);//8.如果JSONObject對象中的value是一個(gè)JSONObject數(shù)組,既根據(jù)key獲取對應(yīng)的JSONObject數(shù)組;
JSONObject objectArray = newJSONObject();//創(chuàng)建JSONArray數(shù)組
JSONArray jsonArray = newJSONArray();//在JSONArray數(shù)組設(shè)值: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數(shù)組
JSONArray jsonArray2 = objectArray.getJSONArray("testArray");
System.out.println(jsonArray2);//9.remove.根據(jù)key移除JSONObject對象中的某個(gè)鍵值對
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對象中的鍵和值的映射關(guān)系
Set> entrySet =object1.entrySet();for (Entryentry : entrySet) {
System.out.println(entry);
}//12.轉(zhuǎn)換為json字符串
String str1 =object1.toJSONString();
System.out.println(str1);
String str2=object1.toString();
System.out.println(str2);
}
運(yùn)行以上程序的結(jié)果為:
最近感悟(不喜勿噴):
越長大越理解得別人的不容易,也發(fā)現(xiàn)自己更多的無奈和不容易,有很多想去照顧的人,想去做的事,卻發(fā)現(xiàn)自己的能力只能承擔(dān)起一丁點(diǎn)。想家了
總結(jié)
以上是生活随笔為你收集整理的jsonobject中getkey_FastJson中JSONObject用法及常用方法总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 生明变量_MySql中的变量
- 下一篇: 名词解释失效安全_09失效分析复习题新