JSON Заменить текст переменной - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть файл JSON, в котором находятся объекты Dateobject. Я хочу заменить их форматированными строками даты. Может кто-нибудь дать мне подсказку, как это было бы легко сделать?

В файле JSON есть строки вроде:

"insertAt": {"$ date": "2018-01-31T11: 05: 39.447Z"},

Я хочу заменить их на:

"вставлен": "2018-01-31 11: 05: 39.447000"

Файлы довольно большие, поэтому я хотел бы не загружать их в JSON-объекты и решать их с помощью замены регулярных выражений или чего-то подобного. К сожалению, я не очень разбираюсь в этом.

Можно ли заменить что-то на функцию вывода самого себя? Я могу выбрать части, которые я хочу заменить на регулярное выражение:

"insertedAt":{".*"}

Могу ли я заменить его функцией *? В псевдокоде это будет выглядеть так:

replace("\"insertedAt\":{\".*\"}").with("\"insertedAt\":" + format(*))

Есть еще идеи?

1 Ответ

0 голосов
/ 25 апреля 2018

Если вы можете использовать lookbehind в вашем regex engine, то вы можете попробовать это для совпадения целевой строки

(?<=insertedAT\": )\{ \"\$date\": (\"[^\"]*\") \},

и заменить ее на захват group 1 (\1 или $1). Демо

Или, если вы не можете использовать lookbehind в своем regex engine, тогда вы можете попробовать это regex,

(?!insertedAT\": )\{ \"\$date\": (\"[^\"]*\") \},

Демо

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