gpt4 book ai didi

json - ruby 如何在值中创建带有反斜杠的 json

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:32 26 4
gpt4 key购买 nike

我正在尝试在 ruby​​ 中创建一个如下所示的 json 对象:

{
"Envoy": {
"Tags": "57:371BF172ED2AFA7\|",
"SerialNumber": "55555555",
"KernelVersion": "0123"
}
}

所以在 irb 中,我将上面的 json 设置为等于这样的对象:

json = {"Envoy":{"Tags":"57:371BF172ED2AFA7\|","SerialNumber":"55555555","KernelVersion":"0123"}

irb 的结果是这样的:

=> {:Envoy=>{:Tags=>"57:371BF172ED2AFA7|", :SerialNumber=>"55555555", :KernelVersion=>"0123"}}

如您所见,它去掉了 "Tags" 中的 \因此,我添加了另一个反斜杠以试图逃避被吃掉的反斜杠。但结果添加了 2 个反斜杠而不是预期的 1 个,如下所示:

[59] pry(#<Object>)> json = {"Envoy":{"Tags":"57:371BF172ED2AFA7\\|","SerialNumber":"55555555","KernelVersion":"0123"}}
=> {:Envoy=>{:Tags=>"57:371BF172ED2AFA7\\|", :SerialNumber=>"55555555", :KernelVersion=>"0123"}}

如您所见,我显然迷路了,我需要它添加一个反斜杠,这样当我执行 json.to_json 时,它会添加 2 个反斜杠而不是 4 个。

有什么想法吗?

最佳答案

双反斜杠实际上不在字符串中。它只是在控制台中以这种方式显示。

puts json[:Envoy][:Tags]

打印:

57:371BF172ED2AFA7\|

请注意,您在 irb/rails console/etc 中看到的作为返回值的值与调用 print some_object.inspect 是一样的,例如:

print "\\".inspect

打印:

"\\"

关于json - ruby 如何在值中创建带有反斜杠的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47545324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com