草庐IT

json_string

全部标签

Ruby String.encode 仍然给出 "invalid byte sequence in UTF-8"

在IRB中,我正在尝试以下操作:1.9.3p194:001>foo="\xBF".encode("utf-8",:invalid=>:replace,:undef=>:replace)=>"\xBF"1.9.3p194:002>foo.match/foo/ArgumentError:invalidbytesequenceinUTF-8from(irb):2:in`match'知道出了什么问题吗? 最佳答案 我猜"\xBF"已经认为它是用UTF-8编码的,所以当你调用encode时,它认为你正在尝试编码一个UTF-8中的UTF-8字符

ruby-on-rails - JSON::ParserError: 757: '{ 处的意外标记

当前哈希是{\"report_name\"=>\"Study/Control:ABIRATERONEACETATE-20151413355\",\"left_mue_start_date\"=>\"02-26-2015\",\"left_mue_end_date\"=>\"03-19-2015\",\"right_mue_start_date\"=>\"02-26-2015\",\"right_mue_end_date\"=>\"03-19-2015\",\"report_formulary_id\"=>\",7581\",\"mue\"=>\"true\",\"mue_type\"=

ruby-on-rails - Rails 未定义方法 `strftime' 为 "2013-03-06":String

我遇到了错误“2013-03-06”的未定义方法`strftime':String当尝试使用strftime从字符串2013-03-06正常显示日期(2013年6月3日或类似日期)时。在我的index.html.erb中执行此操作的行看起来像这样我只是在学习Rails,所以我确信这只是一个愚蠢的初学者错误,我们将不胜感激。谢谢 最佳答案 当strftime是时间/日期类的方法时,您的截止日期看起来是一个字符串。你可以试试这个:Date.parse(task.duedate).strftime("%B%e,%Y")

ruby-on-rails - rails : why is calling to_a on a string not valid in a rake task?

我正在尝试解密一组用于数据库迁移的密码。我有一些旧的Rails代码(实际上是一个Runner脚本)可以很好地解密它们。但是将相同的代码放入Rake任务会导致任务失败,并显示...未定义的方法`to_a'for"secretkey":String...为什么在字符串上调用to_a在Rake任务中无效,但在Runner脚本中却完全有效?require'openssl'KEY='secretkey'namespace:importdotask:users=>:environmentdodefdecrypt_password(pw)cipher=OpenSSL::Cipher::Cipher.

ruby - 在 Ruby 的 BigDecimal 中是否使用 String 或 Integer

引用BigDecimal类的文档,n,m=a.precsprecreturnsnumberofsignificantdigits(n)andmaximumnumberofsignificantdigits(m)ofa.我对以下与BigDecimal相关的输出感到困惑。require'bigdecimal'BigDecimal.new('1').precs#=>[9,18]BigDecimal.new(1).precs#=>[9,27]我不明白为什么当传递String时,有效数字的最大数目比传递Fixnum时少。它还会导致任何精度问题吗? 最佳答案

ruby-on-rails - Rails Controller 丢失 JSON 字符串中的换行符

这里有点碰壁。我正在尝试将包含换行符的字符串(\n,由JSON.stringify转换为\u000a)作为JSON对象的一部分发送到Rails应用程序:{"bob":{"id":46,"notes":"foo\u000abar\u000abaz"}}这是通过网络传输的,\u000a转义为%5Cu000a:http://localhost/bobs/46?draft=true&%7B%22bob%22%3A%7B%22id%22%3A46%2C%22notes%22%3A%22foo%5Cu000abar%5Cu000abaz%22%7D%7D=但是当请求到达Rubyland时,换行符消

ruby-on-rails - 元编程 String#scan 和全局变量?

我的目标是将String类中的方法替换为其他可以完成额外工作的方法(这是一个研究项目)。通过在类似于的String类中编写代码,这适用于许多方法alias_method:center_OLD,:centerdefcenter(args*)r=self.send(*([:center_OLD]+args))#dosomeworkhere#returnsomethingend对于某些方法,我还需要处理一个Proc,这没问题。但是,对于scan方法,调用它会产生设置specialglobalvariables的副作用。来自正则表达式匹配。如文档所述,这些变量是线程和方法的本地变量。不幸的是,

ruby - 解析 100mb JSON 负载的有效方法

我每12小时在我的亚马逊EC2微型实例上运行一次cron作业。它下载118MB的文件并使用json库解析它。这当然会使实例内存不足。我的实例有416MB的可用内存,但随后我运行脚本,它下降到6MB,然后被操作系统杀死。我想知道我在这里有什么选择?是否可以通过Ruby有效地解析它,或者我是否必须下降到像C这样的低级东西?我可以获得一个功能更强大的亚马逊实例,但我真的很想知道是否可以通过Ruby做到这一点。更新:我看过yajl。它可以在解析时为您提供json对象,但问题是,如果您的JSON文件仅包含1个根对象,那么它将被迫解析所有文件。我的JSON看起来像这样:--Root-Obj1-Ob

ruby - 使用 Ruby 按值过滤 JSON 数组

我有一个看起来像这样的JSON数组。[{"name":"Idaho","state":{"id":1,"name":"A"}},{"name":"Wyoming","state":{"id":1,"name":"A"}},{"name":"Montana","state":{"id":2,"name":"B"}},{"name":"SouthDakota","state":{"id":1,"name":"B"}}]我如何使用Ruby只显示A的值?我不认为sort_by会是答案,因为我下面的内容只是按字母顺序对它们进行排序。我想完全排除B的所有结果。.sort_by{|a|[a.stat

ruby-on-rails - 如何从此 instagram json 获取 created_time?

我得到了这个json和created_time值以integer格式显示时间,而不是及时格式,但我希望这个created_time格式正确。如何以正确的格式获取created_time?"filter"=>"Normal","created_time"=>"1421677966","link"=>"http://instagram.com/p/yCfw5sKorK/","likes"=>{"count"=>1,"data"=>[{"username"=>"nikhil.thombare","profile_picture"=>"https://instagramimages-a.aka