Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ruby 1.9中,如何将哈希转换为JSON字符串?_Ruby_Json_Hash - Fatal编程技术网

在Ruby 1.9中,如何将哈希转换为JSON字符串?

在Ruby 1.9中,如何将哈希转换为JSON字符串?,ruby,json,hash,Ruby,Json,Hash,j hash放入我想要的答案,但返回nil hash.to_json返回我想要的带反斜杠的答案。我不想要反斜杠。你说得对to_json将其转换为json格式。不要让IRB输出欺骗你——它不包含任何反斜杠 试试这个: 将hash.to_json放入 你应该看到: {“hi”:“sup”,“yo”:“hey”}我没有Ruby1.9要测试,但显然您得到了“inspect”视图。那些反斜杠并不存在,它们只是在逃避引用。运行put hash.to_json进行检查。这只是因为String\inspect。

j hash
放入我想要的答案,但返回
nil


hash.to_json
返回我想要的带反斜杠的答案。我不想要反斜杠。

你说得对
to_json
将其转换为json格式。不要让IRB输出欺骗你——它不包含任何反斜杠

试试这个:
将hash.to_json放入
你应该看到:
{“hi”:“sup”,“yo”:“hey”}

我没有Ruby1.9要测试,但显然您得到了“inspect”视图。那些反斜杠并不存在,它们只是在逃避引用。运行
put hash.to_json
进行检查。

这只是因为
String\inspect
。没有反斜杠。尝试:

ruby-1.9.2-p0 > require 'json'
 => true 
ruby-1.9.2-p0 > hash = {hi: "sup", yo: "hey"}
 => {:hi=>"sup", :yo=>"hey"} 
ruby-1.9.2-p0 > hash.to_json
 => "{\"hi\":\"sup\",\"yo\":\"hey\"}"
ruby-1.9.2-p0 > j hash
{"hi":"sup","yo":"hey"}
 => nil 

我用标准输出和返回值更新了这个问题。太好了,我不存在。我们经常使用y来格式化散列和对象。
hjs = hash.to_json
puts hjs