在JSON中查找特定节点的绝对路径

时间:2016-03-09 17:59:07

标签: javascript json parsing handlebars.js

场景我希望通过从JSON对象中的动态点开始(将其视为字符串)来查找myObject.authors[2].name之类的路径。请采取以下措施,例如:

我有这个JSON:

var myOject = {  
   "title":"My New Post",
   "authors":[  
      {  
         "name":"Smith",
         "description":"Name is smith"
      },
      {  
         "name":"Jones",
         "description":"Name is {{#reverseParse name}}"
      },
      {  
         "name":"Lincoln",
         "description":"Name is Lincoln"
      }
   ]
}

我想使用自定义handlebars.js帮助器或JS函数来查找动态属性,例如名称:{{#reverseParse **name**}}。因此,它会将{{#reverseParse name}}替换为Jones

潜在解决方案

如果没有预先存在的解决方案,我会感到惊讶,因为它似乎是一种常见的遭遇。但是,我一直找不到一些。有没有?

我想过只创建一个反向解析器,它会找到函数名reverseParse并开始向后解析字符串并构建路径。

如何从同一JSON中的动态变量中获取JSON路径(将其视为字符串)?

PS - 如果我能以任何方式澄清,请告诉我。谢谢!

修改 一个示例函数签名可能是这样的: var reverseParse = function([string] myString) { var jsonPath; ... // find string position of {{#reverseParse [variable]}} // start parsing the string from that position to the left // as you encounter JSON characters, acknowledge and construct path // etc? return jsonPath; }

其中字符串参数实际上应该是JSON格式。

0 个答案:

没有答案