Как мне вложить объект JSON относительно другого объекта JSON?

0

Я создаю инструмент для преобразования HTML в LESS и должен знать, как правильно вложить объект JSON внутри другого.

В настоящее время я беру 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!"]
    }]
}

Который я тогда хочу превратить в объект JSON в формате стиля LESS (который я затем придаю структуре LESS), пример ниже:

{
    ".foo" : {

        ".bar" : {

        }

    }
}

В настоящее время я могу выводить это как:

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

Который явно не вложен правильно, но я не могу понять, что я делаю неправильно.

Здесь jsfiddle с моим текущим кодом... спасибо за ваше время и усилия заранее :)

  • 0
    Вы перезаписываете объект методом JSONtoLESS (). Вы запускаете цикл для каждого ключа в объекте JSON, но каждый раз проверяете атрибуты и обновляете значение. Ниже находится место, где вы перезаписываете, если (! Obj.attributes) {// узел имеет тип и не имеет атрибутов меньше [obj.type] = {}
Теги:
less

1 ответ

0

Вы переписываете объект в методе JSONtoLESS().

Вы запускаете цикл для каждого ключа в объекте JSON, но каждый раз проверяете атрибуты и обновляете значение.

Ниже находится место, где вы переписываете:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню