Ruby on rails 使用Ruby将YAML字符串转换为JSON
我能够将YAML文件转换为JSON,但无法将YAML字符串转换为JSON。有没有其他方法将YAML字符串转换为JSON 样本输入Ruby on rails 使用Ruby将YAML字符串转换为JSON,ruby-on-rails,json,ruby,yaml,Ruby On Rails,Json,Ruby,Yaml,我能够将YAML文件转换为JSON,但无法将YAML字符串转换为JSON。有没有其他方法将YAML字符串转换为JSON 样本输入 --- :name: :firstname: Guru :lastname: Shyam { "name": { "firstname": "Guru", "lastname": "Shyam" } } 预期产出 --- :name: :firstname: Guru :lastname: Shyam { "name"
---
:name:
:firstname: Guru
:lastname: Shyam
{
"name": {
"firstname": "Guru",
"lastname": "Shyam"
}
}
预期产出
---
:name:
:firstname: Guru
:lastname: Shyam
{
"name": {
"firstname": "Guru",
"lastname": "Shyam"
}
}
试试Pysch.load
data = "---\n:name:\n :firstname: Guru\n :lastname: Shyam\n"
Psych.load(data)
-> {
:name => {
:firstname => "Guru",
:lastname=> "Shyam"
}
}
试试Pysch.load
data = "---\n:name:\n :firstname: Guru\n :lastname: Shyam\n"
Psych.load(data)
-> {
:name => {
:firstname => "Guru",
:lastname=> "Shyam"
}
}
YAML.load\u文件可能对您有所帮助
顺便说一句,它是Psych的别名,但有一个更方便的名称,包含在ruby standart库中
[2] pry(main)> .cat data.yml
---
:name:
:firstname: Guru
:lastname: Shyam
[3] pry(main)> require 'yaml'
=> true
[4] pry(main)> puts YAML.load_file('data.yml').to_json
{"name":{"firstname":"Guru","lastname":"Shyam"}}
=> nil
YAML.load\u文件可能对您有所帮助
顺便说一句,它是Psych的别名,但有一个更方便的名称,包含在ruby standart库中
[2] pry(main)> .cat data.yml
---
:name:
:firstname: Guru
:lastname: Shyam
[3] pry(main)> require 'yaml'
=> true
[4] pry(main)> puts YAML.load_file('data.yml').to_json
{"name":{"firstname":"Guru","lastname":"Shyam"}}
=> nil
“还有别的办法”除了什么?你试过什么?什么“不起作用”?你收到错误了吗?如果是,它们是什么?如果没有,您当前的输出与预期的输出有何不同?除了什么?你试过什么?什么“不起作用”?你收到错误了吗?如果是,它们是什么?如果不是,您当前的输出与预期的输出有何不同?我以为OP要求JSON输出。这目前会生成一个Ruby哈希,而不是JSON字符串。这就足够了。我们可以很容易地将ruby哈希转换为JSON。我想OP要求JSON输出。这目前会生成一个Ruby哈希,而不是JSON字符串。这就足够了。我们可以轻松地将ruby哈希转换为JSON。