JSON不允许将字符串直接编码为json表示。我暂时移植了以下PHP代码:
$text = json_encode($string);对于这个Ruby:
text = string.inspect它似乎可以完成这项工作,但由于某些原因,如果string本身包含一个带有换行符的文字字符串(实际上是JS代码),这些换行符\n将保持原样\n,而不是编码为\\n。我可以理解这是不是#inspect的正确行为,但是...
如何将字符串值编码为Ruby中的JSON表示?
发布于 2014-10-11 02:08:23
从Ruby 2.1开始,您可以
require 'json'
'hello'.to_json发布于 2013-06-27 10:32:15
这与常用的1.9.3+标准库JSON一起使用:
require 'json'
JSON.generate('foo', quirks_mode: true) # => "\"foo\""如果没有quirks_mode: true,你会得到可笑的" JSON ::GeneratorError:只允许生成JSON对象或数组“。
发布于 2011-07-22 07:23:40
有无数针对Ruby的JSON gem,有些是纯Ruby的,有些是基于C的,以获得更好的性能。
这里有一个同时提供了纯Ruby和C:http://flori.github.com/json/的
然后它的本质是:
require 'json'
JSON.encode(something)使用原生C绑定提高性能的流行JSON编码器/解码器是Yajl:https://github.com/brianmario/yajl-ruby
来自@Stewart的更新:JSON.encode是由rails提供的,object.to_json也是如此。对于rails之外的应用,请使用Ruby1.9.3std-lib中的JSON.generate。--斯图尔特
https://stackoverflow.com/questions/6783988
复制相似问题