Javascript 在使用handlebar.js进行模板化时使用UUID键处理JSON对象?
我有一个嵌套的JSON对象,如下所示Javascript 在使用handlebar.js进行模板化时使用UUID键处理JSON对象?,javascript,json,handlebars.js,Javascript,Json,Handlebars.js,我有一个嵌套的JSON对象,如下所示 review:{ body:{ "1cfd0269-1b8f-418f-a7b2-45eb2fa7562b": "Text1", "38d14dcd-6e70-46f9-8d81-9c5237cb7393": "Text2", "01485828-39ef-4929-9e96-19758375eb9b": "Text3", } created_at: "2014-06-25T07:42:19Z", id: "ea07
review:{
body:{
"1cfd0269-1b8f-418f-a7b2-45eb2fa7562b": "Text1",
"38d14dcd-6e70-46f9-8d81-9c5237cb7393": "Text2",
"01485828-39ef-4929-9e96-19758375eb9b": "Text3",
}
created_at: "2014-06-25T07:42:19Z",
id: "ea07aaa3-9db6-4868-b6f1-0887ef77f8ba",
product_id: "eb5a7c9c-c20d-4539-b04f-5a3fd8d26c87",
updated_at: "2014-06-25T07:42:19Z"
written_by: "09b3c6f1-cbcb-4544-8cc3-d073d17a8552",
written_on: "2014-06-25"
}
JS非常直截了当:
var context = {review:review};
html = template(context);
模板较大,但相关部分在此处
<textarea class="review-body"> {{body["1cfd0269-1b8f-418f-a7b2-45eb2fa7562b"]}} </textarea>
{{body[“1cfd0269-1b8f-418f-a7b2-45eb2fa7562b”}
在试图访问html模板中的body属性时,我遇到了一个解析错误。知道为什么会这样吗
Uncaught Error: Parse error on line 5:
...iew-edit-context">{{body["1cfd0269-1b8f-418f-a7b2-45eb2fa7562b"]}}</tex
-----------------------^
Expecting 'ID', 'DATA', got 'INVALID'
未捕获错误:第5行的分析错误:
…查看编辑上下文“>{body[”1cfd0269-1b8f-418f-a7b2-45eb2fa7562b”]}}来自以下文档:
要引用无效标识符的属性,可以使用段文字符号[:
{{{#每篇文章[10].{#评论]}
{{/每个}}
这意味着您必须在模板中使用{{body.[1cfd0269-1b8f-418f-a7b2-45eb2fa7562b]}
请参阅演示。是的,这是网页上的工作,angularJS表达式可以很好地检索它,但是如果您尝试在JavaScript中执行相同操作,它将返回未定义的错误。例如,如果您尝试类似的操作
console.log(body.[1cfd0269-1b8f-418f-a7b2-45eb2fa7562b]);
甚至
console.log(body['1cfd0269-1b8f-418f-a7b2-45eb2fa7562b']);
我不知道它的解决方案,但在某个地方提到JavaScript不像UUID上的地雷标志,我自己仍在寻找解决方案,但暂时我正在尝试删除地雷标志。你的模板的标记是什么样的?它是一个较大的模板,但相关部分在这里{{body[#1cfd0269-1b8f-418f-a7b2-45eb2fa7562b]}