gpt4 book ai didi

javascript - 从 Node 文件夹中获取所有 json 文件并在其中找到特定的 attr

转载 作者:搜寻专家 更新时间:2023-10-31 23:32:53 24 4
gpt4 key购买 nike

我的 Node 应用程序中有多个 json 文件(可能超过 10 个)的文件夹,我需要从验证方面读取它们并找到特定属性,如果此属性出现在多个 json 文件中,则会抛出错误,从性能和效率方面

来说,最好的方法是什么?

例如我的文件夹叫plugins并且所有的 json 都像下面这样构建

json1

{
"action": [
{
"delete": {
"path": "deleteFile",
"providedAction":"Del"
},
{
"update": {
"path": "updateFile",
"providedAction":"UPD"
}

}
]
}

这是有效的 json,因为 providedAction = add 在其他 json 中不存在**

json2

{
"action": [
{
"add": {
"path": "addFile",
"providedAction":"Add"
}
}
]
}

这是无效 json,因为providedAction = UPD 操作已经存在JSON 3

{
"action": [
{
{
"update": {
"path": "updateFile",
"providedAction":"UPD"
}
}
]
}

我需要验证只有这个 json 有操作“Del”,如果不止一个 json 有这个 trow 错误,建议如何做?

最佳答案

好的,这是代码。如果您不明白什么,请告诉我,我很乐意为您提供帮助!

var glob = require("glob");
var fs = require("fs");

var _inArray = function(needle, haystack) {
for(var k in haystack) {
if(haystack[k] === needle) {
return true;
}
}
return false;
}

glob("json/*.json", function(err, files) { // read the folder or folders if you want: example json/**/*.json
if(err) {
console.log("cannot read the folder, something goes wrong with glob", err);
}
var matters = [];
files.forEach(function(file) {
fs.readFile(file, 'utf8', function (err, data) { // Read each file
if(err) {
console.log("cannot read the file, something goes wrong with the file", err);
}
var obj = JSON.parse(data);
obj.action.forEach(function(crud) {
for(var k in crud) {
if(_inArray(crud[k].providedAction, matters)) {
// do your magic HERE
console.log("duplicate founded!");
// you want to return here and cut the flow, there is no point in keep reading files.
break;
}
matters.push(crud[k].providedAction);
}
})
});
});
});

JSON 1:

{"action": [
{
"delete": {
"path": "deleteFile",
"providedAction": "Del"
}
},
{
"update": {
"path": "updateFile",
"providedAction": "UPD"
}
}
]
}

JSON 2:

{
"action": [
{
"add": {
"path": "addFile",
"providedAction": "Add"
}
}
]
}

JSON 3:

{
"action": [
{
"update": {
"path": "updateFile",
"providedAction": "UPD"
}
}
]
}

关于javascript - 从 Node 文件夹中获取所有 json 文件并在其中找到特定的 attr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31365296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com