在 .json 文件中将一个键的值插入到另一个键的值中

这是我的 json 文件


{

    "foo": "https://3a1821d0.ngrok.io/api/foo",

    "bar": "https://3a1821d0.ngrok.io/api/bar",

}

我想用json文件中的另一个键替换,比如3a1821d0


{

    "some_variable": 3a1821d0,

},

{

    "foo": "https://some_variable.ngrok.io/api/foo",

    "bar": "https://some_variable.ngrok.io/api/bar",

}

这可能吗?如果是,如何?


富国沪深
浏览 95回答 2
2回答

一只萌萌小番薯

我建议包装要替换的 ocurrence 或任何其他字符,以便替换不会与外观发生冲突。调用您的文件,这将是它的内容:<>input.json{&nbsp; &nbsp; "some_variable": "3a1821d0",&nbsp; &nbsp; "foo": "https://<some_variable>.ngrok.io/api/foo",&nbsp; &nbsp; "bar": "https://<some_variable>.ngrok.io/api/bar"}假设您正在使用节点。此代码应该可以完成这项工作。const fs = require('fs');let fileContent = fs.readFileSync('input.json', "utf-8");let content = JSON.parse(fileContent);const someVariable = content.some_variable;// I'm adding null and 4 to keep the file beautifiedlet fileContentStr = JSON.stringify(content, null, 4);// This line replaces all ocurrences of <some_variable> by "some_variable" contentfileContentStr = fileContentStr.split('<some_variable>').join(someVariable);// Write file againfs.writeFileSync('output.json', fileContentStr);

阿晨1998

您可以使用以下方法将匹配的内容替换为所需的内容。替换为所需的文本。testlet data ={&nbsp; &nbsp; "foo": "https://3a1821d0.ngrok.io/api/foo",&nbsp; &nbsp; "bar": "https://3a1821d0.ngrok.io/api/bar",}Object.keys(data).forEach(key => data[key] = data[key].replace(/3a1821d0/,"test"))console.log(data)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript