Ansible调试变量输出具有破折号

发布于 2025-01-19 01:52:47 字数 740 浏览 0 评论 0原文

我正在尝试运行下面的代码并能够获取将传递到 URL 的 SID,但不确定为什么当我尝试使用下面的代码获取 SID 值时它会添加破折号。我只需将值传递给 URL。

它基本上是关于如何将字典项转换为字符串,不知道该怎么做:|

- set_fact: 
    regexp1: '\"sid"\: \"([^"]+)'

- set_fact: 
    ssid: "{{ dict | selectattr('Details','contains',item) | to_nice_json | regex_search(regexp1,'\\1')}}"

- debug: msg="{{ssid}}"

输出

msg:
  - 01234567899

sid: 01234567899 是我字典中的行。

它传递用单引号括在方括号中的 SID。

https://abc.service-now.com/api/now/table/sc_task/['01234567899']

我期待看到

https://abc.service-now.com/api/now/table/sc_task/01234567899

I am trying to run below code and able to get the SID which will be passed to the URL but not sure why it is adding dash when I try to get the SID value using below code. I need to pass just the value to the URL.

Its basically about how to convert the dictionary item to a string, not sure how to do :|

- set_fact: 
    regexp1: '\"sid"\: \"([^"]+)'

- set_fact: 
    ssid: "{{ dict | selectattr('Details','contains',item) | to_nice_json | regex_search(regexp1,'\\1')}}"

- debug: msg="{{ssid}}"

Output

msg:
  - 01234567899

sid: 01234567899 is the line I have in my dict.

It is passing the SID enclosed in square brackets with single quotes.

https://abc.service-now.com/api/now/table/sc_task/['01234567899']

I am expecting to see

https://abc.service-now.com/api/now/table/sc_task/01234567899

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

愛放△進行李 2025-01-26 01:52:47

正如评论中已经提到的,输出是一个列表,其中有一个元素从零 (0) 开始计数,这是一个单元素数组。

为了更好地了解变量类型,您可以根据 管理数据类型 - 发现数据类型 type_debug

- debug: 
    msg: "{{ ssid }} of type {{ ssid | type_debug }}"

为了进一步处理,您可以按 ssid[0] 之类的位置访问列表元素,或使用其他 模板 (Jinja2) 过滤器如 join 将列表转换为细绳。

进一步问答

As already mentioned in the comments, the output is a list with one element counted from zero (0), a single element array.

To get a better insight into the variable type you may use according Managing data type - Discovering the data type type_debug.

- debug: 
    msg: "{{ ssid }} of type {{ ssid | type_debug }}"

For further processing you may access the list element by position like ssid[0] or use an other Templating (Jinja2) filter like join to convert the list to string.

Further Q&A

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文