Есть группа файлов примерно такого содержания:
{
"responseHeader": {
"zkConnected": true,
"status": 0,
"QTime": 394,
"params": {
"q": "+2019 +BUICK +ENCLAVE",
"defType": "edismax",
"qf": "title_en^200.0 title_es^200 title_ar^200 title_pt^200 title_ru^200 title_th^200 title_fr^200 title_ko^200 category_translated^150.0 category_translated_path^120.0 category_key_path^90.0 mmy^80.0 category_key^75",
"fl": "imdocid,imcontent_text_id,path,title_ordered,category_key,file_type",
"fq": [
"channel:MANUALS",
"file_type:application/pdf",
" -(usergroup_key:[* TO *] OR -usergroup_key:PUBLIC)",
" -(view_key:[* TO *] OR -view_key:PUBLIC)"
],
"rows": "15",
"_forwardedCount": "1",
"stopwords": "true",
"useParams": "default"
}
},
"response": {
"numFound": 3,
"start": 0,
"numFoundExact": true,
"docs": [
{
"imdocid": "MA4840",
"path": "/resources/sites/GMA/content/staging/MANUALS/4000/MA4840/en_US/7.0/GTK_2019_Buick_Enclave_84149417_A.pdf",
"file_type": "application/pdf",
"category_key": [
"QUICK_REFERENCE_MANUALS_BROWSE",
"BUICK",
"ENCLAVE",
"2019",
"BUICK_INTELLILINK"
],
"imcontent_text_id": "863d13356ad04f409b0d2b36061e63b1",
"title_ordered": "Getting to Know Your 2019 Buick Enclave"
},
{
"imdocid": "MA4284",
"path": "/resources/sites/GMA/content/staging/MANUALS/4000/MA4284/en_US/2.0/19_BUI_Enclave_OM_en_US_U_84149412B_2018SEP12_2P.pdf",
"file_type": "application/pdf",
"category_key": [
"OWNERS_MANUALS_BROWSE",
"BUICK",
"ENCLAVE",
"2019"
],
"imcontent_text_id": "b0640df8bc194096b65babf09543de11",
"title_ordered": "2019 Buick Enclave Owner Manual"
},
{
"imdocid": "MA4119",
"path": "/resources/sites/GMA/content/staging/MANUALS/4000/MA4119/en_US/2.0/19_BUI_IM_en_US_U_84134605B_2018JUL03_2P.pdf",
"file_type": "application/pdf",
"category_key": [
"INFOTAINMENT_MANUALS_BROWSE",
"BUICK",
"ENCLAVE",
"REGAL",
"ENVISION",
"ENCORE",
"2019",
"BUICK_INTELLILINK"
],
"imcontent_text_id": "09139b09b5004fe78bf59b574a8cb096",
"title_ordered": "2019 Buick Infotainment System Manual"
}
]
}
}
Мне необходимо "вытащить" значения полей (если они есть, если их нет то пропустить):
['docs'][6]['path'] и ['docs'][6]['path']['category_key'][0]
если точнее то проверить, если в значении ключа category_key есть фраза OWNERS_MANUALS* то забрать значения ключа category_key и значения ключа path. При этом, вложенность может быть разная и OWNERS_MANUALS может быть не одно а 2,4,6 или вообще не быть.
Помогите, уже "голову" сломал, какие-то монстры получаются, но чувствую должно быть элегантное решение )