Рейтинг:0

Захватить строку из ответа JSON

флаг jp
sai

У меня ниже ответ Json для метода POST в bash, и я хотел бы получить значение после идентификатор сессии":" и присвоить его переменной идентификатор сессии.

{"changeId":"79911476-53a4-46e1-8ffd-422436b51ad1","changeType":"создан","запись":{"ключ":"159.65.198.219"}},{"changeId":"bd52dcbd- a5ab-4557-b2b8-88793c2d2964", "changeType": "создано", "запись": {"ключ": "161.35.111.167"}}, {"changeId": "f4f5c94e-6c06-473c-b810-b7bbd69c71ad" ,"changeType":"создано","запись":{"ключ":"161.35.123.111"}}],"sessionId": "b7305d77-20f1-4d57-9eb1-9b9fb4f9552d"}

#вызов API

request_post="$(curl --insecure --request POST "endpoint_URL")"

эхо $request_post

Мне нужна помощь, чтобы выполнить следующий шаг

#Вырезать идентификатор сеанса из ответа

идентификатор_сеанса =

Â

FedKad avatar
флаг cn
Вы должны использовать команду `jq`. Google "Как использовать команду jq в Linux"
флаг hr
Если вам нужна помощь с `jq`, убедитесь, что ваш пример является полным разборчивым фрагментом JSON.
Рейтинг:0
флаг cn

Хотя синтаксический анализ структур json должен выполняться синтаксическим анализатором json, тривиальные случаи, подобные этому, могут быть выполнены с помощью тривиального инструмента, и вы можете передать ответ, хотя сед, Например:

sed 's/.*"sessionId":"\([^"]*\).*/\1/'
      \______________/ \___/ \/
             А Б В

Соответствует всему, включая "идентификатор сессии":", B соответствует всем следующим не-", который является фактическим идентификатором сеанса, а C соответствует остальной части строки. В входит в \(\), поэтому в замене его можно назвать \1. Таким образом, вся строка заменяется только идентификатором сеанса.

Конечно, если вывод можно разделить на несколько строк или использовать другие варианты, разрешенные форматом json, сценарий усложнится.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.