2014-12-02 127 views
0

內的通用檢索對象是否有一個Java庫檢索使用「路徑」到該對象的字符串表示的對象?從另一個對象

例如,假設我有一個對象

Map<String, Map<Integer, Map<String, String>>> myMap; 

MYMAP包含這樣

"Dog"->[1,["name","Rex"]],[2,["name","Bowwowser"]] 

數據理想我正在尋找在那裏我可以通過在「Dog.1.name的方法「(也許是String.class)並接收一個包含」Rex「的字符串。我不太清楚這個技術名稱是什麼,儘管這個概念與XPath類似,並且在JSTL的模型中訪問數據。

回答

0

JXPath將至少讓你接近。我沒有測試過這個特殊的例子,但你會看類似的東西:

JXPathContext context = new JXPathContext(myMap); 
String firstDogName = (String)context.getValue("Dog/1/name"); 

然而,根據自己的文件,目前的JXPath只支持String -keyed地圖;但如果你有List<Foo>代替你Map<Integer, Foo>你進行設置。