我的样本json格式如下
bookingCustomer
如果我将title与其子子菜单标题之一匹配,我想获得标题名为Customer customer= new Customer();
customer.setPersonName(custnameTF.getText); // look at the correct syntax.
//set remaining properties to customer objects from text fields
// ..
//then
customerbooking.setCustomer(customer);
的整个对象。
我按照以下方式尝试过但是没有按照我的期望得到
var myJSON = {
section: "main",
title: "xyz",
child: [{
title: "Home",
isEnable: false,
isActive: true
}, {
title: "Contact",
isEnable: false,
isActive: true
}, {
title: "Menu",
isEnable: true,
child: [{
title: 'Sub-Menu-1',
isEnable: true
}, {
title: 'Sub-Menu-2',
isEnable: true,
child: [{
title: 'Sub-Menu-2-1',
isEnable: false,
isActive: true
}, {
title: 'Sub-Menu-2-2',
isEnable: false,
isActive: true
}]
}, {
title: 'Sub-Menu-3',
isEnable: true
}, {
title: 'Sub-Menu-4',
isEnable: true
}]
}]
};
我的预期输出低于
Sub-Menu-2
请帮助我获得预期的输出。谢谢提前
答案 0 :(得分:1)
对于预期的输出,您需要更改JSONPath表达式。
$..[?(@.title =="Sub-Menu-2")]
这将为您提供输出:
[
{
"title": "Sub-Menu-2",
"isEnable": true,
"child": [
{
"title": "Sub-Menu-2-1",
"isEnable": false,
"isActive": true
},
{
"title": "Sub-Menu-2-2",
"isEnable": false,
"isActive": true
}
]
}
]