首页 > 解决方案 > JSON用变量替换文本

问题描述

我有一个 JSON 文件,其中是 Dateobjects。我想用格式化日期字符串替换它们。有人可以给我一个提示如何以简单的方式实现吗?

在 JSON 文件中有如下行:

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

我想将它们替换为:

“插入时间”:“2018-01-31 11:05:39.447000”

这些文件非常大,所以我想避免将它们加载到 JSON-Objects 中,并使用正则表达式替换或类似的东西来解决它。不幸的是,我对此并没有真正的经验。

是否可以用自身的功能输出替换某些东西?我可以选择我想用正则表达式替换的部分:

"insertedAt":{".*"}

我现在可以用 * 的函数替换它吗?在伪代码中它会像:

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

还有其他想法吗?

标签: jsonregexfilevariablesreplace

解决方案


如果你可以lookbehind在你的中使用regex engine,那么你可以试试这个来匹配目标字符串

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

并将其替换为捕获group 1\1$1)。演示

或者,如果你不能lookbehind在你的中使用regex engine,那么你可以试试这个regex

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

演示


推荐阅读