Node.js 中 JSON 对象中的 JSON 对象 [关闭]

Posted

技术标签:

【中文标题】Node.js 中 JSON 对象中的 JSON 对象 [关闭]【英文标题】:JSON object within JSON objects in Node.js [closed] 【发布时间】:2016-01-26 04:30:55 【问题描述】:

我是 node.JS 的新手,目前正在从事一个小型项目。 问题陈述:我想获取“window”的值,但想隐藏“window”键。在 Node.js 中有没有办法解决这个问题?

输入Json:


"widget": 
            "debug": 
                        "window": 
                                    "image": [
                                         
                                            "src": "Images/Sun.png",
                                            "name": "sun1",
                                            "hOffset": 250,
                                            "vOffset": 250,
                                            "alignment": "center"
                                        ,
                                         
                                            "src": "Images/Moon.png",
                                            "name": "moon1",
                                            "hOffset": 250,
                                            "vOffset": 250,
                                            "alignment": "center"
                                        
                                    ]
                               
                    
         

输出Json:

 
"widget": 
            "debug": 
                         "image": [
                                      
                                         "src": "Images/Sun.png",
                                         "name": "sun1",
                                          "hOffset": 250,
                                          "vOffset": 250,
                                          "alignment": "center"
                                       ,
                                        
                                          "src": "Images/Moon.png",
                                          "name": "moon1",
                                          "hOffset": 250,
                                          "vOffset": 250,
                                          "alignment": "center"
                                        
                                ]

                    
         
 

【问题讨论】:

“隐藏”到底是什么意思? @Kevin B 我不想要“窗口”,即在输出 JSON 中看到的键。只需要显示它的值。 所以换句话说,你想删除widget.debug.window,并将widget.debug.window.image键/值对存储在widget.debug上。 是的,你没看错 简单,将json转换为对象,进行替换,删除window属性,然后再次字符串化。 【参考方案1】:

试试这样的:

var widget = JSON.parse(json_string);
var window_content = widget.debug.window;
widget.debug = window_content;
var new_json_string = JSON.stringify(widget);

编辑:删除 widget.debug.window = false; 因为替换 widget.debug 将删除它,并将其设置为 false 将使其再次显示为“false”。

【讨论】:

请注意,您不需要 window_content。 widget.debug = widget.debug.window @KevinB 是的,你是对的 :) 另请注意,这将擦除widget.debug 的任何其他可能键。例如,如果原始 JSON 数据包含 widget.debug.foobar 条目,则在运行此代码后它也会消失。

以上是关于Node.js 中 JSON 对象中的 JSON 对象 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

通过Mongoose(Node JS)在Mongo DB中插入没有JSON模式的JSON对象

如何在 Node JS 中读取文本文件并将其作为 JSON 对象返回?

JSON从EJS到JS中的JSON对象

在 Node.js 中响应 JSON 对象(将对象/数组转换为 JSON 字符串)

如何使用node.js将多个json的对象合并到一个json文件中

JSON+Node.js - 意外的令牌 o