Javascript 传递可能嵌套的对象属性的数量待定

Javascript 传递可能嵌套的对象属性的数量待定,javascript,coffeescript,handlebars.js,handlebarshelper,Javascript,Coffeescript,Handlebars.js,Handlebarshelper,我正在尝试编写一个Handlebar助手,在这里我可以传递一个需要解析的JSON字符串,然后获取任何特定属性,而不知道可能存在多少嵌套级别,例如: Handlebars.registerHelper 'parseJSON', (string, properties) -> json = JSON.parse string # how can I do: return json[oneProperty][andANestedProperty] 然后将“responseBod

我正在尝试编写一个Handlebar助手,在这里我可以传递一个需要解析的JSON字符串,然后获取任何特定属性,而不知道可能存在多少嵌套级别,例如:

Handlebars.registerHelper 'parseJSON', (string, properties) ->
    json = JSON.parse string
    # how can I do: return json[oneProperty][andANestedProperty]
然后将“responseBody”作为我的JSON字符串,不确定如何传递它,但我的想法是:

{{parseJSON responseBody [oneProperty][andANestedProperty] }}

如果您希望能够说出以下内容:

{{parseJSON json 'p1' 'p2'}}
{{parseJSON json 'p1' 'p2' 'p3'}}
在模板中,您只需要让助手接受任意数量的参数。唯一棘手的是,handlebar属性参数总是最后一个。这实际上很容易使用:

这将在助手内的路径数组中提供类似于['p1',p2']和['p1',p2',p3']的内容

Handlebars.registerHelper 'parseJSON', (json, path..., properties) ->
    # path will be an array in here