c语言类似xpath解析json的库,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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值