首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Ruby字符串编码为JSON字符串

将Ruby字符串编码为JSON字符串
EN

Stack Overflow用户
提问于 2011-07-22 07:17:30
回答 3查看 40.6K关注 0票数 24

JSON不允许将字符串直接编码为json表示。我暂时移植了以下PHP代码:

代码语言:javascript
复制
$text = json_encode($string);

对于这个Ruby:

代码语言:javascript
复制
text = string.inspect

它似乎可以完成这项工作,但由于某些原因,如果string本身包含一个带有换行符的文字字符串(实际上是JS代码),这些换行符\n将保持原样\n,而不是编码为\\n。我可以理解这是不是#inspect的正确行为,但是...

如何将字符串值编码为Ruby中的JSON表示?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-11 02:08:23

从Ruby 2.1开始,您可以

代码语言:javascript
复制
require 'json'

'hello'.to_json
票数 17
EN

Stack Overflow用户

发布于 2013-06-27 10:32:15

这与常用的1.9.3+标准库JSON一起使用:

代码语言:javascript
复制
require 'json'
JSON.generate('foo', quirks_mode: true) # => "\"foo\""

如果没有quirks_mode: true,你会得到可笑的" JSON ::GeneratorError:只允许生成JSON对象或数组“。

票数 21
EN

Stack Overflow用户

发布于 2011-07-22 07:23:40

有无数针对Ruby的JSON gem,有些是纯Ruby的,有些是基于C的,以获得更好的性能。

这里有一个同时提供了纯Ruby和C:http://flori.github.com/json/

然后它的本质是:

代码语言:javascript
复制
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。--斯图尔特

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6783988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档