[英]Ruby: integrate a ruby key/value-hash in an existing JSON string
JSON 字符串:
jsonString = {"string1" => {"test1" => "test2"}}
结果(带有 JSON.pretty_generate)打印得很漂亮:
{
"string1":
{
"test1": "test2"
}
}
但是当我尝试将两个数组的所有元素添加到这个 JSON-String 中时
keys = [:key0, :key1]
values = [:value0, :value1]
my_hash = Hash[keys.zip values]
jsonString = {"string1" => {"test1" => "test2", my_hash}}
我总是得到一个:
语法错误,意外的 '}',期望 => jsonString = {"string1" => {"test1" => "test2", my_hash}}
我会期待这样的行为:
jsonString = {"string1" => {"test1" => "test2", keys[0] => values[0], keys[1] => values[1]}}
输出:
{
"string1":
{
"test1": "test2",
"key0": "value0",
"key1": "value1"
}
}
有没有办法使用哈希机制?
非常感谢。
试试jsonString.merge(my_hash)
?
我的理解是,名为jsonString
的变量实际上是一个哈希值,而不是一个 json 字符串。 如果您想将该哈希转换为真正的 JSON 字符串,您可以导入 json 模块(使用require 'json'
)而不是调用jsonStrong.to_json
,但是一旦将哈希转换为字符串,其他哈希就变得更加困难到它。 最好将所有的哈希值加在一起,然后将结果转换为 json。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.