2012-05-24 4 views
1

저는 PropertyUtils의 getProperty에 사용 된 색인 표기법을 사용하여지도 값으로 포함 된 목록의 요소를 검색하려고했습니다. 여기에 (내가 여기에 일반적인 구문을 사용하고 있습니다) 예입니다 :PropertyUtils를 사용하여지도 내부의 목록에서 요소를 가져 오는 방법은 무엇입니까?

map = {"aList": ["elem1", "elem2", "elem3"]} 

하자 내가 값 "elem2"을 얻고 싶은 말, 내가 사용하여 할 노력하고있어 :

PropertyUtils.getProperty(map, "aList[1]"); 

하지만 작동하지 않는 것 같습니다. 나는 항상 널 값을 얻는다. 이것을 할 또 다른 방법이 있습니까? 분명히하려면, 나는 getProperty("aList").get(0) (물론 명시 적으로 캐스팅 한 후)을 수행 할 수 있음을 알고 있지만, 위에서 언급 한 코드가 작동해야하는 솔루션에서 작업하고 있습니다.

+0

나는 이것을 이미 알아 냈습니다. 규칙에 따라 질문을 게시 한 후 8 시간 이내에 답변 할 수 없으므로 나중에 답변을 게시합니다. –

답변

2

좋아, 그래서 알아 냈어. 아래의 코드는 내가 원하는 방법처럼 작동 : this documentation에 따라

PropertyUtils.getProperty(map, "(aList)[1]"); 

내 생각은, 내가 여기서 뭘하고있어 내가 aList는 키가 아닌 빈의 인덱스 속성입니다 것을 지정하고 있습니다 것입니다. 그런 것.

+0

링크가 끊어졌습니다. – Dormouse

+1

공식 문서 링크가 업데이트되었습니다. –

+0

Map of Maps 등지도지도에서 값을 얻는 방법을 모색 한 사람 (예 : 객체 화 된 JSON) (예 : objectified JSON) : PropertyUtils.getProperty (map, "(keyInFirstMap). (keyInSecondMap). (keyInThirdMap)"); 가능한 경고 : Apache의 BeanUtils 성능이 좋지 않을 수 있습니다 (http://rodrigojramirez.com/2013/10/21/beware-of-copyproperties-or-the-30-milliseconds-tale/ 참조). , 나는 위와 같이 PropertyUtils를 많이 사용하는 코드 경로에서 사용하기 전에 테스트를 수행 할 것입니다. –

관련 문제