如何将JSON对象与另一个JSON对象相关联?

时间:2014-03-08 03:07:25

标签: javascript jquery json less

我正在构建一个将HTML转换为LESS的工具,并且需要知道如何将JSON对象正确地嵌套在另一个中。

我目前从textarea获取HTML输入,例如:

<p class="foo">Hello <span class="bar">World!</span></p>

将其转换为DOM对象,然后将DOM对象简化为以下内容:

{
    "type": "p", 
    "attributes" : { "class" : "foo" },
    "content": ["Hello ", {
        "type": "span", 
        "attributes" : { "class" : "bar"},
        "content" : ["World!"]
    }]
}

然后我想把它变成一个LESS样式格式的JSON对象(然后我将其美化为LESS结构),例如下面的例子:

{
    ".foo" : {

        ".bar" : {

        }

    }
}

我目前只能将其输出为:

{ 
    ".foo" : {},
    ".bar" : {}
}

这显然没有正确嵌套,但我无法弄清楚我做错了什么。

以下是我当前代码的jsfiddle ...感谢您提前花时间和精力:)

1 个答案:

答案 0 :(得分:0)

  

您正在JSONtoLESS()方法中覆盖该对象。

     

您正在为JSON对象中的每个键运行循环,但您每次都在检查属性并更新值。

     

以下是您要覆盖的地方:

if ( !obj.attributes ) { //node has type and no attributes less[obj.type] = {}