Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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是否包含子JSON_Javascript_Json_Node.js - Fatal编程技术网

Javascript NodeJS-检查JSON是否包含子JSON

Javascript NodeJS-检查JSON是否包含子JSON,javascript,json,node.js,Javascript,Json,Node.js,我有两个JSON对象,我想检查其中一个是否包含另一个(Object1包含Object2) 这两个JSON对象都是动态的——我不知道这两个对象的结构或属性名称 例如,Object1可以如下所示: { "propertyA": "value1", "propertyB": "value2", "propertyC": { "objProp1": "objVal1", "objProp2": "objVal2" }

我有两个JSON对象,我想检查其中一个是否包含另一个(Object1包含Object2)

这两个JSON对象都是动态的——我不知道这两个对象的结构或属性名称

例如,Object1可以如下所示:

{
    "propertyA": "value1",
    "propertyB": "value2",
    "propertyC": {
         "objProp1": "objVal1",
         "objProp2": "objVal2"       
    }
    "propertyD": [
       {
         "arrProp1": "arrVal1",
         "arrProp2": "arrVal2"
       },
       {
         "arrProp1": "arrVal3",
         "arrProp2": "arrVal4",
       }
    ]
}
而Object2可以是以下内容之一:

备选案文1:

{
    "propertyA": "value1",      
    "propertyD": [          
       {           
         "arrProp2": "arrVal4"
       }
    ]
}
备选案文2:

{
   "objProp1": "objVal1"
}

我希望这段代码有一些用处。我没有太多时间检查所有的边缘情况或降低复杂性

我不确定您到底在想什么逻辑,因此我为以下条件编写了代码

  • 如果要深入检查object1是否包含object2(object2中的所有键和值都可以在object1中找到),则此代码可能会对您有所帮助
  • 功能_包含(obj1、obj2){
    const obj2keys=Object.keys(obj2);
    for(设i=0;ilog(包含(object1,object2))我希望这段代码有一些用处。我没有太多时间检查所有的边缘情况或降低复杂性

    我不确定您到底在想什么逻辑,因此我为以下条件编写了代码

  • 如果要深入检查object1是否包含object2(object2中的所有键和值都可以在object1中找到),则此代码可能会对您有所帮助
  • 功能_包含(obj1、obj2){
    const obj2keys=Object.keys(obj2);
    for(设i=0;ilog(包含(object1,object2))选项2将为
    ,但选项1将为
    ?可能有帮助you@Roman-两个选项都应为true选项2应为
    true
    ,但选项1应为
    false
    ?可能有帮助you@Roman-两种选择都应该是正确的