【发布时间】:2016-06-22 13:09:22
【问题描述】:
我需要将 JSON 对象发送到需要属性的服务器 是嵌套的。例如,数据对象可以嵌套 2 层深。但是,不能简单地直接声明对象:
var foo = {};
foo.bar.bartwo = "data"; //Uncaught TypeError
我目前正试图通过手动创建嵌套对象层来绕过这一点。
var foo = {};
foo.bar = {};
foo.bar.bartwo = "data"; //Successful
但是,如果对象需要多层嵌套,这很快就会失控。
在 Javascript 或 Jquery 中是否有更好的方法来处理这个问题(通过简单地打第二个代码示例是行不通的)?
澄清:该解决方案应该能够允许直接访问嵌套属性,不需要同时创建所有中间属性。
【问题讨论】:
-
var foo = {bar: {bartwo: "data"}}; -
创建简单的“命名空间”函数。或谷歌一个
-
@naththedeveloper 虽然您的解决方案更简洁,但它实际上并没有解决根本问题。嵌套可能需要动态生成多个级别,这不适用于您的示例。
-
您要问的是不可能的,因为要向对象添加属性,该对象必须存在。你能做的最好的事情就是创建一个函数来减轻这样做的负担,比如this one。
-
var foo['bar'] = {'a': 'b'} 你可以这样做
标签: javascript jquery object