有没有JSON模板引擎?我正在寻找这样的东西......
var template = {
'sts': '%data1.sts%',
'msg': '%data2.msg%'
};
var data1 = {
'sts': 200
};
var data2 = {
'msg': 'Hi!'
};
// render(template, [data sources]);
var response = render(template, [data1, data2]);
console.log(response);
输出
{
'sts': 200,
'msg': 'Hi!'
}
感谢您的回复!
答案 0 :(得分:3)
保持简单。
function template(data) {
var object = {
'sts': data[0].sts,
'msg': data[1].msg
};
return object;
}
答案 1 :(得分:1)
看看mustache。它似乎就是你所追求的。
答案 2 :(得分:1)
如果你从JSON转到JSON,你可以继续使用Javascript,只需颠倒分配顺序:
var data1 = {
sts: 200
};
var data2 = {
msg: 'Hi!'
};
var template = {
sts: data1.sts,
msg: data2.msg
};
console.log( JSON.stringify(template) ); //--> {"sts":200,"msg":"Hi!"}
JSON.stringify
在大多数现代浏览器上都可用作本机对象和方法。如果没有,您可以使用json2.js
但是如果你需要一个模板引擎将JSON转换为HTML,你可以查看pure.js
答案 3 :(得分:0)
是的,存在JSON模板引擎。我不知道你需要什么,但json-templater是一个选择。
template.json:
{
"magic_key_{{magic}}": {
"key": "interpolation is nice {{value}}"
}
}
========使用模板的代码========
var object = require('json-templater/object');
var result = object(
require('./template.json'),
{ magic: 'key', value: 'value' }
);
console.log(result);
/* should look something like this:
{
magic_key_key: {
key: 'interpolation is nice value'
}
}
*/
答案 4 :(得分:-2)
我对jQuery的新模板引擎非常满意:
http://api.jquery.com/category/plugins/templates/
您可以在填写模板之前使用jQuery.extend()合并数据片段。