Как извлечь определенный текст из значения в ключе, присутствующем в словаре Python (JSON) - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть эти JSON данные, которые мне нужны для go, чтобы извлечь все данные из customfield_20340, которые содержат ссылки на Crucible. Моя задача - извлечь только ссылки Crucible, представленные в виде значения в данном ключе. Когда я извлекаю ссылки на Crucible, мне не нужны никакие другие символы или текст. Например, я не хочу текст "+ REVCYCSCH-7080" и так далее, только отдельные ссылки. На данный момент я могу извлечь весь контент, представленный в customfield_20340.

{
 "expand": "renderedFields,names,schema,operations,editmeta,changelog,versionedRepresentations",
 "id": "1020688",
 "self": "https://jira.cerner.com/rest/api/2/issue/1020688",
 "key": "JFORMS-9005",
 "fields": {
    "customfield_20431": null,
    "customfield_17141": null,
    "customfield_20340": "+REVCYCSCH-7080+\r\nhttps://crucible02.cerner.com/viewer/cru/ACCESS-HIM-
     23904\r\nhttps://crucible05.cerner.com/viewer/cru/CCS- 
     29261\r\nhttps://crucible05.cerner.com/viewer/cru/CCS-29105\r\n\r\n+REVCYCSCH- 
     11034+\r\nhttps://crucible02.cerner.com/viewer/cru/ACCESS-HIM- 
     23904\r\nhttps://crucible05.cerner.com/viewer/cru/CCS- 
     29261\r\nhttps://crucible05.cerner.com/viewer/cru/CCS-29105\r\n",
     }
}

Как бы вы все решили? Спасибо!

1 Ответ

2 голосов
/ 23 апреля 2020

Если вы смогли извлечь полное поле, вам просто нужно разделить его и сохранить то, что начинается с http:

links = [i for i in data['fields']['customfield_20340'].split() if i.startswith('http')]
...