Я получаю ввод в виде строки, как показано ниже -
{"user":"myuser","password":"abcd1234"}
и хотите поменять место, как показано ниже -
{"user":"myuser","password":***********}
Пытался с gsub, но не смог найти никакого решения, какое должно быть решение для этого?





Похоже, вы хотите отредактировать строку JSON. Сложно обойтись без предварительного анализа, потому что в данных могут быть двойные кавычки (а кто в наши дни не использует двойные кавычки в своих паролях ??)
Регулярное выражение должно быть примерно таким:
s = '{"user":"myuser","password":"abcd\"1234"}'
s.sub(/,"password":"(?:\\.|[^\\"])*"/, ',"password":"********"')
Обновлять
Если ваш JSON достаточно мал, вы можете проанализировать его, изменить данные, а затем заново сгенерировать:
require 'json'
s = '{"user":"myuser","password":"abcd\"1234"}'
j = JSON.parse s
j["password"] = ?* *14
s = j.to_json
Спасибо Фравадона
Но использование этого регулярного выражения будет соответствовать «password»: «abcd1234». Хотите изменить его как «password»: ********** Каким должен быть способ для этого, если мне придется анализировать Json строка измените значение и снова измените строку
Спасибо Фравадоне, так как я получил подсказку о json, я получил требуемый ответ, как показано ниже - parsed = JSON.parse (hash ["key"]) parsed ["password"] = "#" * 15 hash ["key"] = parsed. to_s Спасибо за решение, которое вы предоставили
Пожалуйста. Я думал, что вы не хотите разбирать свой JSON.
Это не входная строка, это входной хеш!