Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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 如何在nodejs中替换json对象键中的$symbol_Javascript_Node.js_Json_Jenkins_Async.js - Fatal编程技术网

Javascript 如何在nodejs中替换json对象键中的$symbol

Javascript 如何在nodejs中替换json对象键中的$symbol,javascript,node.js,json,jenkins,async.js,Javascript,Node.js,Json,Jenkins,Async.js,我试图从json对象(已解析)中的键中删除$symbol。正常的JS文件,我用这个答案提到,它是工作良好。但是我尝试了nodejs,因为它不能正常工作。最后形成的对象不包含整个修改的值。所以我尝试了问题中发布的原始函数,但是我得到了回调函数NotFound错误。我使用的是node 10.19版本。有没有其他方法可以从json对象中删除$symbol。请给我一个有效的解决方案。实际上,我从yml文件中获取输入,该文件在jenkins中转换为json字符串。在我的代码中,我再次解析了它。如果jenk

我试图从json对象(已解析)中的键中删除$symbol。正常的JS文件,我用这个答案提到,它是工作良好。但是我尝试了nodejs,因为它不能正常工作。最后形成的对象不包含整个修改的值。所以我尝试了问题中发布的原始函数,但是我得到了回调函数NotFound错误。我使用的是node 10.19版本。有没有其他方法可以从json对象中删除$symbol。请给我一个有效的解决方案。实际上,我从yml文件中获取输入,该文件在jenkins中转换为json字符串。在我的代码中,我再次解析了它。如果jenkins中有任何库可以直接将yml文件转换为json,这也会有所帮助

var obj = {

    'blue':{
        'test:"value',
        '$test1':'value1',
        'tiger':'cheetah_growl',
        '$jan':'cool'
    }

}
普通js文件

var obj_new = { '$name': 'test1', '$auth_users': 'bajali_s' };

console.log("obj.blue",obj.blue.tiger);
var str = obj.blue.tiger;
var res = str.replace("_", " ");
console.log("res",res);

obj.blue.tiger = res;

console.log("obj.blue",obj.blue.$test1);



//const obj1 = {"example1.":"sometext.","example2.":"anothertext."};
const obj2 = {};
console.log(Object.getOwnPropertyNames(obj));

const obj1 = obj_new;
console.log("__",obj1);
/* for (const key of Object.getOwnPropertyNames(obj1)) {
  obj2[key.replace(/[|&;$%@."<>()+,]/g, "")] = obj1[key];
} */

for (const key of Object.getOwnPropertyNames(obj1)) {
  obj2[key.replace(/[|&;$%@."<>()+,]/g, "")] = obj1[key];
}


console.log("==",obj2); 

var newjson = JSON.stringify(obj2);

console.log(newjson);
var obj_new={'$name':'test1','auth_users':'bajali_s};
log(“obj.blue”,obj.blue.tiger);
var str=obj.blue.tiger;
var res=str.replace(““,”);
控制台日志(“res”,res);
obj.blue.tiger=res;
log(“obj.blue”,obj.blue.$test1);
//const obj1={“example1.”:“sometext.”,“example2.”:“anothertext.”;
常量obj2={};
log(Object.getOwnPropertyNames(obj));
const obj1=obj_new;
console.log(“\uj1”,obj1);
/*for(Object.getOwnPropertyNames(obj1)的常量键){
obj2[key.replace(/[|&;$%@.()+,]/g,“”)=obj1[key];
} */
for(Object.getOwnPropertyNames(obj1)的常量键){
obj2[key.replace(/[|&;$%@.()+,]/g,“”)=obj1[key];
}
console.log(“==”,obj2);
var newjson=JSON.stringify(obj2);
log(newjson);

以下是我如何删除键和值中的额外符号。我浏览了很多网站,并提出了这个程序,希望它能帮助别人。我也让它有点活力

 var special_char_keys = ["creationType", "vm_location", "nic_location", "vnetlocation", "rg_location"];
        var elements_to_delete = ["blueprint_info", "riglet_info", "quick_links"];


        for (var a = elements_to_delete.length; a >= 0; a--) {
            delete cloudProperties[elements_to_delete[a]];
        }

        var Mainkeys = Object.keys(cloudProperties);
        console.log("Mainkeys", Mainkeys);
        var total_keys_cloudproperties = Mainkeys.length;



        for (var j = total_keys_cloudproperties; j > 0; j--) { // main json loop starts

            for (const key of Object.getOwnPropertyNames(cloudProperties)) { // getting the main json keys

                var obj1 = cloudProperties[key];
                var obj2 = {};
                var obj3 = {};
                var obj4 = {};
                var obj5 = {};
                var formattedarray = [];

                var keys = Object.keys(cloudProperties[key]);
                //console.log("inner keys", keys);
                var tasksToGo = keys.length;

                //console.log("key length",tasksToGo);
                for (var i = tasksToGo; i > 0; i--) {



                    for (const key1 of Object.getOwnPropertyNames(obj1)) {
                        //   var item = obj1.get(key1);  // this will get the value in the json based on key

                        if (Array.isArray(obj1[key1])) { // checking whether the key has value as [{},{}]

                            // console.log("for jsonarray case");
                            var temparray = obj1[key1]; // assigning the array to temparray
                            for (var k = 0; k < temparray.length; k++) { // for loop for getting each object value
                                var obj3 = temparray[k]; // assigning the inner object to a variable
                                var Arraykeys = Object.keys(obj3);
                                // console.log("array inner keys", Arraykeys);
                                var tasksToGo1 = Arraykeys.length;

                                for (var t = tasksToGo1; t > 0; t--) {
                                    for (const key2 of Object.getOwnPropertyNames(obj3)) {

                                        if (special_char_keys.includes(key2)) {
                                            var tempvalue = obj3[key2];
                                            var newvalue = tempvalue.replace("_", " ");
                                            // console.log("newvalue", newvalue);
                                            obj4[key2.replace(/[|&;$%@."<>()+,]/g, "")] = newvalue;

                                        } else {
                                            obj4[key2.replace(/[|&;$%@."<>()+,]/g, "")] = obj3[key2];
                                        }
                                        // obj4[key2.replace(/[|&;$%@."<>()+,]/g, "")] = obj3[key2];


                                    }
                                    if (Arraykeys == tasksToGo1) {
                                        break;
                                    }

                                    temparray[k] = obj4;
                                    // console.log("temparray[k] ======================", temparray[k]);
                                }

                            }
                            obj5[key1] = temparray;
                            cloudProperties[key] = obj5;
                            // console.log("vm case", cloudProperties[key]);
                        } else {
                            // console.log("for normal case");
                            if (special_char_keys.includes(key1)) {
                                var tempvalue = obj1[key1];
                                //  console.log(obj1[key1]);
                                var newvalue = tempvalue.replace("_", " ");
                                // console.log("newvalue", newvalue);
                                obj2[key1.replace(/[|&;$%@."<>()+,]/g, "")] = newvalue;
                                cloudProperties[key] = obj2;


                            } else {
                                obj2[key1.replace(/[|&;$%@."<>()+,]/g, "")] = obj1[key1];
                                cloudProperties[key] = obj2;

                            }


                            //obj2[key1.replace(/[|&;$%@."<>()+,]/g, "")] = obj1[key1];
                            // cloudProperties[key] = obj2;
                        }
                    }

                }
                //console.log("obj2",obj2);

                //console.log("+++++++++++++++++",cloudProperties[key]);


            }
            if (j == total_keys_cloudproperties) {
                //console.log("inside break");
                break;
            }
        }




        console.log("After removing", cloudProperties);
var special_char_key=[“creationType”、“vm_location”、“nic_location”、“vnetlocation”、“rg_location”];
var elements_to_delete=[“blueprint_info”、“riglet_info”、“quick_links”];
对于(var a=elements到delete.length;a>=0;a--){
删除cloudProperties[elements_to_delete[a]];
}
var Mainkeys=Object.keys(cloudProperties);
控制台日志(“主键”,主键);
var total_keys_cloudproperties=Mainkeys.length;
对于(var j=total_keys_cloudproperties;j>0;j--){//主json循环开始
for(Object.getOwnPropertyNames(cloudProperties))的const key{//获取主json键
var obj1=cloudProperties[key];
var obj2={};
var obj3={};
var obj4={};
var obj5={};
var formattedarray=[];
var keys=Object.keys(cloudProperties[key]);
//console.log(“内部键”,键);
var tasksToGo=keys.length;
//console.log(“键长度”,tasksToGo);
对于(var i=tasksToGo;i>0;i--){
for(Object.getOwnPropertyNames(obj1)的常量键1){
//var item=obj1.get(key1);//这将根据键获取json中的值
if(Array.isArray(obj1[key1]){//检查该键的值是否为[{},{}]
//log(“针对jsonarray案例”);
var temparray=obj1[key1];//将数组分配给temparray
for(var k=0;k0;t--){
for(Object.getOwnPropertyNames(obj3)的常量key2){
if(特殊字符键包括(键2)){
var tempvalue=obj3[key2];
var newvalue=tempvalue.replace(““,”);
//console.log(“newvalue”,newvalue);
obj4[key2.replace(/[|&;$%@.()+,]/g,“”)=newvalue;
}否则{
obj4[key2.替换(/[|&;$%@.()+,]/g,“”)=obj3[key2];
}
//obj4[key2.替换(/[|&;$%@.()+,]/g,“”)=obj3[key2];
}
if(Arraykeys==tasksToGo1){
打破
}
temparray[k]=obj4;
//console.log(“temparray[k]============================”,temparray[k]);
}
}
obj5[key1]=临时数组;
cloudProperties[key]=obj5;
//log(“vm案例”,cloudProperties[key]);
}否则{
//控制台日志(“正常情况下”);
if(特殊字符键包括(键1)){
var tempvalue=obj1[key1];
//console.log(obj1[key1]);
var newvalue=tempvalue.replace(““,”);
//console.log(“newvalue”,newvalue);
obj2[key1.replace(/[|&;$%@.()+,]/g,“”)=newvalue;
cloudProperties[key]=obj2;
}否则{
obj2[key1.替换(/[|&;$%@.()+,]/g,“”)=obj1[key1];