Fastjson 從JSON字符串中取值 操作示例


轉載自 https://my.oschina.net/u/3421709/blog/1542196

package jsonDemo;

import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import java.util.HashMap; public class JSONDemo { public static void main(String[] args) { //自定義JSON字符串 String json = "{\"name\":\"盧本偉\",\"age\":24,\"語錄\":[{\"騷話1\":\"可以,不跟你多bb\",\"騷話2\":\"表面兄弟\"},{\"騷話3\":\"盧本偉牛逼\",\"騷話4\":\"給阿姨倒一杯卡布奇諾\"}]}"; //JSON字符串轉換成JSONObject對象 JSONObject jo = JSON.parseObject(json); System.out.println("初始JSONObject:\n" + jo + "\n"); //JSONObject對象取得some對應的JSONArray數組 JSONArray jsarr = jo.getJSONArray("語錄"); System.out.println("JSONObject里面的JSONArray:\n" + jsarr + "\n"); //JSONArray對象通過getJSONObject(index)方法取得數組里面的JSONObject對象 JSONObject ao = jsarr.getJSONObject(0); System.out.println("JSONObject里面的JSONArray里面的第一個JSONObject:\n" + ao + "\n"); //JSONobject對象通過key直接取得String的值 String str = ao.getString("騷話1"); System.out.println("JSONObject里面的JSONArray里面的第一個JSONObject里的鍵值對對Key取值:\n" + str + "\n"); System.out.println("=====================JSON字符串轉換成map========================="); //Json字符串轉換成map HashMap<String, Object> map = JSON.parseObject(String.valueOf(jo), new TypeReference<HashMap<String, Object>>() {}); System.out.println(map.get("語錄")); System.out.println(map.get("name")); } } 


輸出結果如下:

初始JSONObject:
{"name":"盧本偉","語錄":[{"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"},{"騷話4":"給阿姨倒一杯卡布奇諾","騷話3":"盧本偉牛逼"}],"age":24} JSONObject里面的JSONArray: [{"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"},{"騷話4":"給阿姨倒一杯卡布奇諾","騷話3":"盧本偉牛逼"}] JSONObject里面的JSONArray里面的第一個JSONObject: {"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"} JSONObject里面的JSONArray里面的第一個JSONObject里的鍵值對對Key取值: 可以,不跟你多bb =====================JSON字符串轉換成map========================= [{"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"},{"騷話4":"給阿姨倒一杯卡布奇諾","騷話3":"盧本偉牛逼"}] 盧本偉

 

    要遍歷JSONArray對象,可以通過size( )方法取得JSONArray的長度,JSONArray.getJSONObject(index)取得里面JSONObject對象;如:

   

        JSONArray jsarr = jo.getJSONArray("語錄"); for (int i = 0; i < jsarr.size();i++) { //... }

------------恢復內容開始------------

轉載自 

package jsonDemo;

import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import java.util.HashMap; public class JSONDemo { public static void main(String[] args) { //自定義JSON字符串 String json = "{\"name\":\"盧本偉\",\"age\":24,\"語錄\":[{\"騷話1\":\"可以,不跟你多bb\",\"騷話2\":\"表面兄弟\"},{\"騷話3\":\"盧本偉牛逼\",\"騷話4\":\"給阿姨倒一杯卡布奇諾\"}]}"; //JSON字符串轉換成JSONObject對象 JSONObject jo = JSON.parseObject(json); System.out.println("初始JSONObject:\n" + jo + "\n"); //JSONObject對象取得some對應的JSONArray數組 JSONArray jsarr = jo.getJSONArray("語錄"); System.out.println("JSONObject里面的JSONArray:\n" + jsarr + "\n"); //JSONArray對象通過getJSONObject(index)方法取得數組里面的JSONObject對象 JSONObject ao = jsarr.getJSONObject(0); System.out.println("JSONObject里面的JSONArray里面的第一個JSONObject:\n" + ao + "\n"); //JSONobject對象通過key直接取得String的值 String str = ao.getString("騷話1"); System.out.println("JSONObject里面的JSONArray里面的第一個JSONObject里的鍵值對對Key取值:\n" + str + "\n"); System.out.println("=====================JSON字符串轉換成map========================="); //Json字符串轉換成map HashMap<String, Object> map = JSON.parseObject(String.valueOf(jo), new TypeReference<HashMap<String, Object>>() {}); System.out.println(map.get("語錄")); System.out.println(map.get("name")); } } 


輸出結果如下:

初始JSONObject:
{"name":"盧本偉","語錄":[{"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"},{"騷話4":"給阿姨倒一杯卡布奇諾","騷話3":"盧本偉牛逼"}],"age":24} JSONObject里面的JSONArray: [{"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"},{"騷話4":"給阿姨倒一杯卡布奇諾","騷話3":"盧本偉牛逼"}] JSONObject里面的JSONArray里面的第一個JSONObject: {"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"} JSONObject里面的JSONArray里面的第一個JSONObject里的鍵值對對Key取值: 可以,不跟你多bb =====================JSON字符串轉換成map========================= [{"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"},{"騷話4":"給阿姨倒一杯卡布奇諾","騷話3":"盧本偉牛逼"}] 盧本偉

 

    要遍歷JSONArray對象,可以通過size( )方法取得JSONArray的長度,JSONArray.getJSONObject(index)取得里面JSONObject對象;如:

   

        JSONArray jsarr = jo.getJSONArray("語錄"); for (int i = 0; i < jsarr.size();i++) { //... }

------------恢復內容結束------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM