Извлеките поля в журнале json, если поле существует с помощью регулярных выражений - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь извлечь поля в приведенных ниже примерах данных

{"Value":{"Data":{"Items":[{"FieldType":"ABC","Value":"*****"},{"FieldType":"ACB","Value":"*****"},{"FieldType":"ABCD","Value":"*****"},,{"FieldType":"XYZ","Value":"*****"}],"EncryptedDocKey":"*****","Domain":"*****","Partner":"***","Carrier":"****"},"RequestTrackerId":"****","Message":"OK"},"Formatters":[],"ContentTypes":[],"DeclaredType":null,"StatusCode":null}

{"Value":{"Data":{"Items":[{"FieldType":"ABC","Value":"*****"},{"FieldType":"XYZ","Value":"*****"},{"FieldType":"ACD","Value":"*****"}],,"EncryptedDocKey":"*****","Domain":"*****","Partner":"***","Carrier":"****"},"RequestTrackerId":"****","Message":"OK"},"Formatters":[],"ContentTypes":[],"DeclaredType":null,"StatusCode":null}

{"Value":{"Data":{"Items":[{"FieldType":"XYZ","Value":"*****"},{"FieldType":"ACD","Value":"*****"}],,"EncryptedDocKey":"*****","Domain":"*****","Partner":"***","Carrier":"****"},"RequestTrackerId":"****","Message":"OK"},"Formatters":[],"ContentTypes":[],"DeclaredType":null,"StatusCode":null}

{"Value":{"Data":{"Items":[{"FieldType":"ABCD","Value":"*****"}],,"EncryptedDocKey":"*****","Domain":"*****","Partner":"***","Carrier":"****"},"RequestTrackerId":"****","Message":"OK"},"Formatters":[],"ContentTypes":[],"DeclaredType":null,"StatusCode":null}

Мне нужно извлечь текст рядом с FieldType (ABC,XYZ,ABCD,ACB,ACB ...) в V1, V2, V3, V4, V5 и т. Д. ...

У меня есть регулярное выражение, которое можно получить, если есть три поля, но регулярное выражение не отображается, если имеется больше или меньше 3 полей.

Я пробовал это регулярное выражение

.?"FieldType":"(?<V1>\w+)".+?"FieldType":"(?<V2>\w+).+?"FieldType":"(?<V3>\w+)

Также я хочу извлечь все поля в fieldtype и, EncryptedDocKey, Домене, Партнере, Перевозчике, RequestTrackerId, Сообщении, Форматировщиках, ContentTypes, DeclaredType, StatusCode

1 Ответ

0 голосов
/ 10 июля 2019

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

"(FieldType)":"([^"]+)"|"(message)":"([^"]+)"

может извлечь эти желаемые значения ключа.

DEMO

...