Как удалить нетекстовые символы, новую строку, табуляцию и т. Д. Из параметров строки JSON - PullRequest
0 голосов
/ 29 мая 2018

У меня есть строки JSON, которые могут содержать \n, \t, которые я не хочу сохранять в базе данных.strip_tags помогает только с простыми строками.Я использую gsub(/(\\n)|(\\t)/, "").

Интересно, есть ли другой вспомогательный метод Rails или лучший способ добиться этого?

например

"[{\"type\":\"checkbox-group\",\"label\":\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nFill in\\nthe Gap (Please\\nfill in the blank box with correct wor\",\"name\":\"checkbox-group-1527245153706\",\"values\":[{\"label\":\"Option 1\",\"value\":\"option-1\",\"selected\":true}]},{\"type\":\"text\",\"label\":\"\\n\\t\\t\\n\\t\\n\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\tWhat are the unique features of\\ne-commerce, digital markets, and\\ndigital goods? \\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\",\"className\":\"form-control\",\"name\":\"text-1527245426509\",\"subtype\":\"text\"}]"

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Я думаю, что этот может вам помочь,

JSON.parse(string).map{ |a| a['label'] = a['label'].squish; a}

0 голосов
/ 29 мая 2018

Вы можете использовать squish или squish!

"  Some text \n\n and a tab \t\t with new line \n\n  ".squish
#=> "Some text and a tab with new line"

Squish удаляет все пробельные символы с обоих концов и группирует оставшиеся пробельные символы (\n, \t, space) в одном пространстве

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...