json-path 解析json 类似xpath 超好用

{
    "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
            },
            {
                "category": "fiction",
                "author": "Herman Melville",
                "title": "Moby Dick",
                "isbn": "0-553-21311-3",
                "price": 8.99
            },
            {
                "category": "fiction",
                "author": "J. R. R. Tolkien",
                "title": "The Lord of the Rings",
                "isbn": "0-395-19395-8",
                "price": 22.99
            }
        ],
        "bicycle": {
            "color": "red",
            "price": 19.95
        }
    }
}

 

XPath JSONPath Result
/store/book/author $.store.book[*].author the authors of all books in the store
//author $..author all authors
/store/* $.store.* all things in store, which are some books and a red bicycle.
/store//price $.store..price the price of everything in the store.
//book[3] $..book[2] the third book
//book[last()] $..book[(@.length-1)]
$..book[-1:]
the last book in order.
//book[position()<3] $..book[0,1]
$..book[:2]
the first two books
//book[isbn] $..book[?(@.isbn)] filter all books with isbn number
//book[price<10] $..book[?(@.price<10)] filter all books cheapier than 10
//* $..* all Elements in XML document. All members of JSON structure.
commons-lang-2.6.jar
json-path-0.8.1.jar
json-smart-1.1.1.jar
public static List parseJson(String str,String partyId,String createDt){
List list = JsonPath.read(str, "$.mobileInfo.info[*]");
List users = new ArrayList();
for(JSONObject json : list){
User u = new User();
   String accNbr =  JsonPath.read(json, "$.mobileNum.mobileNumber");
   String syrPartyId = "";
   if(json.containsKey("syrPartyId")){
      syrPartyId = JsonPath.read(json, "$.syrPartyId").toString();
   }
   u.setPartyId(partyId);
   u.setAccNbr(accNbr);
   u.setSyrPartyId(syrPartyId);
   u.setCreateDt(createDt);
   users.add(u);
}
return users;
}

你可能感兴趣的:(JSON)