2011-01-02 21 views
5

Herhangi bir JSON şablon motoru var mı? BenJSON şablon motor

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); 

Çıktı ... Böyle bir şey için cevap için

{ 
    'sts': 200, 
    'msg': 'Hi!' 
} 

Teşekkür arıyorum!

cevap

4

bir göz Eğer Basit tutun.

function template(data) { 

    var object = { 
    'sts': data[0].sts, 
    'msg': data[1].msg 
    }; 

    return object; 

} 
0

mustache'a bakın. Senin peşinde olduğun gibi görünüyor.

+0

ben emin değilim kullanan ben Bıyık ile iki veri kaynağını kullanabilir ... Yapabilir miyim? – Latanmos

1

, JavaScript ile kalmak ve sadece atamaları sırasını tersine çevirebilir:

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 bir yerli nesne ve Methode gibi en modern tarayıcılarda kullanılabilir. değil json2.js

kullanabilirsiniz Ama HTML JSON dönüştürmek için bir şablon motoru gerekiyorsa, pure.js

0

Evet, JSON çiftleşmiş motoru vardır. Neye ihtiyacın olduğunu bilmiyorum ama json-templater bir seçenek.

template.json:

{ 
    "magic_key_{{magic}}": { 
    "key": "interpolation is nice {{value}}" 
    } 
} 

======== Kodunuz şablon ========

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' 
    } 
} 
*/