想知道是否可以归还父母" Id"来自下面的json,同时查询孩子" Id"
{
"DistributionList": {
"Items": [
{
"Origins": {
"Items": [
{
"Id": "abc"
}
],
"Quantity": 1
},
"Id": "parent123"
},
{
"Origins": {
"Items": [
{
"Id": "def"
}
],
"Quantity": 1
},
"Id": "parent345"
}
]
}
}
EG。如果我查询子ID" abc"它应该返回" parent123"。
做类似的事情:
more jsonfile | jq '.DistributionList.Items[].Origins.Items[] | select(.Id == "abc") | .Id'
只会返回" abc" - >但我需要父ID。 不确定是否有办法用jq
执行此操作答案 0 :(得分:1)
过滤器: .. |对象|选择(.Origins.Items []?| .Id ==" abc")| .ID
产生
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.example.jobinsabu.georgetravels"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases' }
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:cardview-v7:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.google.code.ksoap2-android:ksoap2-android:3.6.0'
}
您可能希望参数化过滤器,例如:
"parent123"
答案 1 :(得分:0)
原始问题中的过滤器接近解决方案。所需要的只是重新排列select
中的内容。 E.g。
.DistributionList.Items[]
| select(.Origins.Items[].Id == "abc")
| .Id