场景我希望通过从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格式。