Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将一个键的值插入.json文件中另一个键的值_Javascript_Json - Fatal编程技术网

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

Javascript 将一个键的值插入.json文件中另一个键的值,javascript,json,Javascript,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:/

这是我的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",
}

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

您可以使用下面的方法将匹配的内容替换为所需的内容。将测试替换为所需的文本

让数据={ 傅:https://3a1821d0.ngrok.io/api/foo, 酒吧:https://3a1821d0.ngrok.io/api/bar, } Object.keysdata.forEachkey=>data[key]=data[key].替换/3a1821d0/,测试
console.logdata我建议包装要替换的眼圈或任何其他字符,以便替换不会与外观冲突。调用文件input.json,这将是其内容:

{
    "some_variable": "3a1821d0",
    "foo": "https://<some_variable>.ngrok.io/api/foo",
    "bar": "https://<some_variable>.ngrok.io/api/bar"
}
假设您使用的是node。这段代码应该可以完成这项工作

常数fs=要求“fs”; 让fileContent=fs.readFileSync'input.json',utf-8; 让content=JSON.parsefileContent; const someVariable=content.some_变量; //我添加了null和4来美化文件 让fileContentStr=JSON.stringifycontent,null,4; //这一行用一些变量内容替换的所有引用 fileContentStr=fileContentStr.split.joinsomeVariable; //再次写入文件 writeFileSync'output.json',fileContentStr;
是的,只需使用正确的正则表达式和替换值对这些字符串执行替换您的第二个JSON块无效。[Object.entriesdata.reducea,v=>a[v[0]]=v[1]。替换'3a1821d0','some_variable',a,{},{some_variable:'3a1821d0'}]嘿,我正试图在.JSON文件中执行此操作,我想您正在谈论的是.js文件。谢谢。如果您希望替换json文件本身,那么您可能必须在每个值级别编写条件,如{foo:https://3a1821d0.ngrok.io/api/foo.replace/3a1821d0/,测试,条形图:https://3a1821d0.ngrok.io/api/bar.replace/3a1821d0/,测试,}。否则,如果在js文件中存在访问此json的任何范围,我建议您这样做。您不必使用fs读取json文件,这将是一种过分的做法,相反,您可以直接在js文件中请求并按原样使用它。