Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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

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 如何将嵌入的JSON扁平化到多个文档中_Javascript_Json_Node.js - Fatal编程技术网

Javascript 如何将嵌入的JSON扁平化到多个文档中

Javascript 如何将嵌入的JSON扁平化到多个文档中,javascript,json,node.js,Javascript,Json,Node.js,考虑以下JSON: { "Company" : "ABC Company", "Place" : { "Bangalore" :{ "Address" : "MG Road", "Phone" : ["988888","888866","365656"]

考虑以下JSON:

{
    "Company" : "ABC Company",
    "Place"   : {
                   "Bangalore" :{ 
                                    "Address" : "MG Road",  
                                    "Phone"   : ["988888","888866","365656"]
                                },
                   "Mubmai" :   { 
                                    "Address" : "1st Main Road,West",  
                                    "Phone"   : ["21212","123123","544455"]
                                }
                }
}
现在,我想将JSON展平,以便获得多个JSON。对于上述示例,展平输出如下所示:

{
    "Company" : "ABC Company",
    "Place"   : "Bangalore",
    "Address" : "MG Road",
    "Phone"   : "988888"
},    
{
    "Company" : "ABC Company",
    "Place"   : "Bangalore",
    "Address" : "MG Road",
    "Phone"   : "888866"
},    
{
    "Company" : "ABC Company",
    "Place"   : "Bangalore",
    "Address" : "MG Road",
    "Phone"   : "365656"
},    
{
    "Company" : "ABC Company",
    "Place"   : "Mubmai",
    "Address" : "1st Main Road,West",
    "Phone"   : "21212"
},    
{
    "Company" : "ABC Company",
    "Place"   : "Mubmai",
    "Address" : "1st Main Road,West",
    "Phone"   : "123123"
},    
{
    "Company" : "ABC Company",
    "Place"   : "Mubmai",
    "Address" : "1st Main Road,West",
    "Phone"   : "544455"
}
JSON结构并不是固定不变的,它可能会改变,但扁平化仍然必须以同样的方式工作。在Node.js中有什么方法可以做到这一点吗?

好了:()

你会得到这个的

    [{"Company":"ABC Company","Place":"Bangalore","Address":"MG Road","Phone":"988888"},{"Company":"ABC Company","Place":"Bangalore","Address":"MG Road","Phone":"888866"},{"Company":"ABC Company","Place":"Bangalore","Address":"MG Road","Phone":"365656"},{"Company":"ABC Company","Place":"Mubmai","Address":"1st Main Road,West","Phone":"21212"},{"Company":"ABC Company","Place":"Mubmai","Address":"1st Main Road,West","Phone":"123123"},{"Company":"ABC 
Company","Place":"Mubmai","Address":"1st Main Road,West","Phone":"544455"}] 

如果JSON结构发生变化,那么我看不出展平它的逻辑是如何相同的。这不仅仅是展平。您还可以展开/迭代数组。如果JSON中有多个数组,该怎么办。“有什么最好的方法吗?”您尝试过哪些方法?使用
JSON.parse
isPlainObject
hasOwnProperty
递归
。现在开始挖掘。这假设OP正在使用Jquery,问题中没有指定这一点,因为他正在使用Node。
console.log(JSON.stringify(t)
    [{"Company":"ABC Company","Place":"Bangalore","Address":"MG Road","Phone":"988888"},{"Company":"ABC Company","Place":"Bangalore","Address":"MG Road","Phone":"888866"},{"Company":"ABC Company","Place":"Bangalore","Address":"MG Road","Phone":"365656"},{"Company":"ABC Company","Place":"Mubmai","Address":"1st Main Road,West","Phone":"21212"},{"Company":"ABC Company","Place":"Mubmai","Address":"1st Main Road,West","Phone":"123123"},{"Company":"ABC 
Company","Place":"Mubmai","Address":"1st Main Road,West","Phone":"544455"}]