adding the group On Wed, Sep 21, 2016 at 11:53 AM, Murat Cetin <mceti...@gmail.com> wrote:
> Thanks João. I've realized that Bindings is a Map but its values are not > defined as Map, so just casting the first get's return to Map and then > chaining with a second get as in ((Map)(bindings.get(key1)).get(key2) > worked for me. > > On Wed, Sep 21, 2016 at 10:55 AM, João Paulo Varandas < > joaovaran...@inpaas.com> wrote: > >> Hi Murat. >> >> For a structure like this: >> var obj = { "key1": { "key2" : { "key3": "value1-2-3" } } } >> >> >> Simple answer: >> The get call support flat structures. >> >> b.get("obj.key1.key2.key3") will return null ... >> >> But ... >> >> >> Long answer: >> If you are in JavaScript, you can evaluate this with the syntax: >> var val = obj.key1.key2.key3; >> >> If you are in Java, what happens is that you have a Map, inside a Map, >> inside a Map ... >> >> Map<String, Object> map1 = (Map<String, Object>) obj.get("key1"); >> Map<String, Object> map2 = (Map<String, Object>) map1.get("key2"); >> Object val = (Map<String, Object>) map2.get("key3"); >> >> Since you cannot chain the calls, you either need a helper method where >> you will "chain" this in a recursive method, or you may ask the >> scriptEngine to evalute this for you! >> >> Have you tried something like ... >> myScriptEngine.eval( "myobj.key1.key2.key3", bindings ) >> ? >> >> See this gist: >> https://gist.github.com/joaovarandas/57ff0b539e9fbf82974959dfb168b468 >> >> >> 2016-09-21 11:20 GMT-03:00 Murat Cetin <mceti...@gmail.com>: >> >>> Hi, >>> >>> I read a .js file that results in Bindings that have a nested key value >>> structure, e.g, key1: value1, value1 : [key2, key3, key4], key2: [value2, >>> value3], and etc. Bindings.get(Object) will only return key1..I cannot >>> chain multiple get calls and I don't see a method to get to say key2.. >>> Am I >>> doing something wrong? or does the get call only support flat structures? >>> >>> thanks, >>> Murat >>> >> >> >> "Esta mensagem, incluindo seus anexos, pode conter informacoes >> confidenciais e privilegiadas. >> Se voce a recebeu por engano, solicitamos que a apague e avise o >> remetente imediatamente. >> Opinioes ou informacoes aqui contidas nao refletem necessariamente a >> posicao oficial da Plusoft." >> >> "Antes de imprimir, pense em sua responsabilidade e compromisso com o >> MEIO AMBIENTE" >> >> >