Как указать свойства карты в плагине Struts 2 JSON - PullRequest
5 голосов
/ 21 сентября 2011

Я использую Struts 2 вместе с плагином json, сопоставления свойств в файле struts.xml обычно разочаровывают, но я могу их выяснить.

Я сталкивался со случаем, когда яне могу установить includeProperties для получения ожидаемого результата.

Часто я использую выражение конфигурации

^itemList\[\d+\]\.id,
^itemList\[\d+\]\.name
....

Это хорошо работает.

В этом случае я хотел бывернуть данные с карты, а не списка (или карты, которая является дочерней по отношению к члену списка)

Если используется *, вся карта распечатывается правильно, но я не хочу, чтобы все данные с картыэлементы.

^itemList\[\d+\]\map\.*

Вся карта возвращается

Я пробовал несколько различных форматов, и ни один из них не дал результатов.

^itemList\[\d+\]\map\[\d+\]\.id
^itemList\[\d+\]\map\[\d+\]\.name

Ничего не возвращается всвойство карты

Кому-нибудь повезло с синтаксисом, ограничивающим содержимое карты?

Спасибо -Скотт

Ответы [ 2 ]

1 голос
/ 14 мая 2014

Вы не можете использовать 'd' на карте как целое число. Попробуйте это ^itemList\..*$

0 голосов
/ 22 сентября 2011

1) Ваше регулярное выражение подозрительно. Обратите внимание, что в выражении «^ itemList [\ d +] \ map [\ d +]. Id», + d относится к еще одной цифре, поэтому карта должна иметь цифру (ы) в качестве ключа. Если это не то, что вам нужно, то, вероятно, лучше использовать «. +» (Один или несколько символов).

2) Преобразуйте карту в LinkedHashMap, а затем обработайте ее как список. (Еще не проверял, это может не сработать)

...