如何在json中使用红宝石的字符串?

时间:2014-12-09 08:28:24

标签: java ruby json

这是json字符串:

 {
    "app":"${host}\":\"${post}"
 }

如何打开字符串?例如。如何制作这个:

{
    app:${host}":"${post}
}

删除前导和尾随双引号,转义双引号变为未转义。

如何用ruby做到这一点?

同时

在java中,我可以使用appache commons StringEscapeUtil.unescapeJson ruby​​中是否有模拟?

重要

  1. 是的,结果将不是有效的json文件。这是预料之中的。
  2. 我可以使用string.replace("\"", "")string.replace("\\\"", "")之类的东西,但使用一些开箱即用的功能(如果是)会很好。

1 个答案:

答案 0 :(得分:-1)

require 'json'

str =<<'END_OF_STRING'
{
    "app":"${host}\":\"${post}"
}
END_OF_STRING

puts str
puts str.gsub(/[\\]" | ["]/x, '\"' => '"', '"' => '')

--output:--
{
    "app":"${host}\":\"${post}"
}
{
    app:${host}":"${post}
}