JSONPath使用(fastjson在1.2.0之后版本)


來自:http://blog.csdn.net/u011113654/article/details/50515515

1、JSON字符串轉對象

String jsonStr = "{ \"store\": {\"book\": [{ \"category\": \"reference\","+
                "\"author\": \"Nigel Rees\",\"title\": \"Sayings of the Century\","+
                "\"price\": 8.95},{ \"category\": \"fiction\",\"author\": \"Evelyn Waugh\","+
                "\"title\": \"Sword of Honour\",\"price\": 12.99,\"isbn\": \"0-553-21311-3\""+
                "}],\"bicycle\": {\"color\": \"red\",\"price\": 19.95}}}";
//Object jsonObject = JSON.parse(jsonStr); // 先解析JSON數據
JSONObject jsonObject = JSON.parseObject(jsonStr);

2、代碼實例

// 如果是json格式的字符串,則先解析為JSONObject,然后就能直接使用JSONPath了。
System.out.println("\n Book數目:" + JSONPath.eval(jsonObject, "$.store.book.size()")); System.out.println("第一本書title:" + JSONPath.eval(jsonObject, "$.store.book[0].title")); System.out.println("price大於10元的book:" + JSONPath.eval(jsonObject, "$.store.book[price > 10]")); System.out.println("price大於10元的title:" + JSONPath.eval(jsonObject, "$.store.book[price > 10][0].title")); System.out.println("category(類別)為fiction(小說)的book:" + JSONPath.eval(jsonObject, "$.store.book[category = 'fiction']")); System.out.println("bicycle的所有屬性值" + JSONPath.eval(jsonObject, "$.store.bicycle.*")); System.out.println("bicycle的color和price屬性值" + JSONPath.eval(jsonObject, "$.store.bicycle['color','price']"));

3、結果

System.out.println("\n Book數目:" + JSONPath.eval(jsonObject, "$.store.book.size()"));
System.out.println("第一本書title:" + JSONPath.eval(jsonObject, "$.store.book[0].title"));
System.out.println("price大於10元的book:" + JSONPath.eval(jsonObject, "$.store.book[price > 10]"));
System.out.println("price大於10元的title:" + JSONPath.eval(jsonObject, "$.store.book[price > 10][0].title"));
System.out.println("category(類別)為fiction(小說)的book:" + JSONPath.eval(jsonObject, "$.store.book[category = 'fiction']"));
System.out.println("bicycle的所有屬性值" + JSONPath.eval(jsonObject, "$.store.bicycle.*"));
System.out.println("bicycle的color和price屬性值" + JSONPath.eval(jsonObject, "$.store.bicycle['color','price']"));

4、JSONPath.eval返回的是Object,可以強制轉化為JSONArray和JSONObject。

 


免責聲明!

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



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