String、JSONObject、JSONArray之間互相轉換

首先在maven中添加阿里的fastjson依賴

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

1.String轉JSONObject

格式:JSONObject parseObject(String text)
其中:text爲JSONObject格式的字符串,如:{"k1":"v1","k2":"v2"}

String s1 = "{\"datasetId\":602,\"cfg\":\"\"}";
JSONObject jsonObject = JSONObject.parseObject(s1);

2.String轉JSONArray

格式:JSONArray parseArray(String text)
其中:text爲JSONArray格式的字符串,如:[{"k1":"v1","k2":"v2"},{"k3":"v3"}]

String s2 = "[{\"column\":\"amount\",\"aggType\":\"sum\"}]";
JSONArray jsonArray = JSONArray.parseArray(s2);

3.JSONObject中的數據提取爲JSONArray

格式:JSONArray getJSONArray(String key)
其中:key爲JSONObject對象中的某個key,且對應的value應是JSONArray格式的,如:{"k1":[{"k2":"v2"},{"k3":"v3"}]}

String s3 = "{\"datasetId\":602,\"values\":[{\"column\":\"amount\",\"aggType\":\"sum\"}]}";
JSONObject jsonObject3 = JSONObject.parseObject(s3);
JSONArray jsonArray3 = jsonObject3.getJSONArray("values");

4.JSONArray提取爲JSONObject

格式:JSONObject getJSONObject(int index)
其中:getJSONObject的對象爲array類型,index爲數組下標

String s4 = "[{\"columnName\":\"assets_group\",\"filterType\":\"≠\",\"values\":[\"蘋果\"]},{\"columnName\":\"audit_date\",\"filterType\":\"[a,b]\",\"values\":[\"2020-03-15\",\"2020-04-15\"]},null]";
JSONArray jsonArray4 = JSONArray.parseArray(s4);
JSONObject jsonObject4 = jsonArray4.getJSONObject(0);

5.JSONObject獲取value

格式:Object get(Object key)

jsonObject.get("datasetId")

 其它....

參考:https://www.cnblogs.com/ljangle/p/11047111.html

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章