FastJson---重要的類爲JSONObject

主要是用FastJson進行數據解析,其中一個重要的類爲JSONObject,json

JSONobject是FastJson提供的對象,在api中是用一個私有的常量map進行封裝的,實際就是一個map,只不過FastJson對其進行了封裝,api

添加了不少方便快捷的屬性方法。數組

private final Map<String, Object> map;

 在項目中添加maven依賴maven

        <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.48</version>
            </dependency>

 

先來看下它有哪些經常使用方法,以及有什麼做用:code

1.put(String key, Object value)方法,在JSONObject對象中設置鍵值對在,在進行設值得時候,key是惟一的,若是用相同的key不斷設值得時候,保留後面的值。orm

2.Object get(String key) :根據key值獲取JSONObject對象中對應的value值,獲取到的值是Object類型,須要手動轉化爲須要的數據類型對象

3.int size():獲取JSONObject對象中鍵值對的數量blog

4.boolean isEmpty():判斷該JSONObject對象是否爲空接口

5.containsKey(Object key):判斷是否有須要的key值rem

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的字符串

 

// 對象轉JSON串
String jsonString = JSON.toJSONString(object);
// JSON串轉JSON對象
JSONObject JSON1 = JSON.parseObject(JSONString);
//獲取JSON對象中的鍵值爲phone_code的值
json.getString("phone_code");
//key-value使用單引號
String limeJSON = JSON.toJSONString(lime,SerializerFeature.UseSingleQuotes);
// 日期格式化
Date date = new Date();
// 默認格式爲yyyy-MM-dd HH:mm:ss
System.out.println(JSON.toJSONString(date,SerializerFeature.WriteDateUseDateFormat));
//根據自定義格式輸出日期
System.out.println(JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat));
//根據key 獲得json中的json數組
JSONArray com.alibaba.fastjson.JSONObject.getJSONArray(String key)
//根據下標拿到json數組的json對象
JSONObject com.alibaba.fastjson.JSONArray.getJSONObject(int index)
//根據key拿到json的字符串值
String com.alibaba.fastjson.JSONObject.getString(String key)
//根據key拿到json的int值
int com.alibaba.fastjson.JSONObject.getIntValue(String key)
//根據key拿到json的boolean值
boolean com.alibaba.fastjson.JSONObject.getBooleanValue(String key)
//將map轉換成jsonObject
JSONObject itemJSONObj = JSONObject.parseObject(JSON.toJSONString(itemMap));
//將Map類型的itemInfo轉換成json,再經JSONObject轉換實現。
//將jsonObj轉換成Map
Map<String, Object> itemMap = JSONObject.toJavaObject(itemJSONObj, Map.class);

相關文章
相關標籤/搜索