Обработка свойств json с именем, содержащим символ @

Мне нужно обновить пользовательский интерфейс до полимера 3, и полученные данные преобразуются из XML в JSON, прежде чем он достиг клиента.

на стороне клиента я использую шаблон Polymer3 для передачи значений базовым полимерным элементам.

поскольку XML хранит значения в атрибутах, My json возвращается следующим образом.

{
    @type: "filter",
    @target: "somevalue1",
    @operator: "=",
    @value: "4458"
},
{
    @op: "Or",
    @type: "filter",
    @target: "somevalue2",
    @operator:  "=",
    @value: "4828"
},
{
    @op: "Or",
    @type: "filter",
    @target: "somevalue3",
    @operator: "=",
    @value: "2428"
}

теперь, когда я передаю это свойство в свой полимерный шаблон 3, как при индексировании, он рассматривает все это как текст и отображает на экране.

{{item['@op']}}

отображается на экране как есть. Кроме того, я не могу использовать его следующим образом

{{item.@op}}

Я не знаю, рассматривается ли @ как код, но весь текст, включая скобки {{}}, отображается на экране.

Как обращаться с этими свойствами.

Я не могу преобразовать его в другой читаемый объект, потому что пользовательский интерфейс уже требует времени для рендеринга из-за <\ vaadin-select> и json будет повторяться внутри вложенного объекта.

1 ответ

Повторная публикация моего комментария как ответа для лучшего обзора

item['@op'] может не работать в dom-repeat но работает в handleResponse function()

Попробуйте присвоить значение obj ответа для this,

т.е. this.opVal= item['@op'] И в render html., привязать значение как [[opVal]]

Другие вопросы по тегам