2011-01-02 3 views
5

Gibt es eine JSON Templating Engine? Ich bin auf der Suche nach so etwas wie dieses ...JSON Templating Engine

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

Ausgabe

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

Danke für Ihre Antwort!

Antwort

4

haben Keep it simple.

function template(data) { 

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

    return object; 

} 
0

Werfen Sie einen Blick auf mustache. Es scheint so zu sein, wonach Sie suchen.

+0

ich, wenn nicht sicher bin ich kann zwei Datenquellen mit Moustache verwenden ... Kann ich? – Latanmos

1

Wenn Sie von JSON JSON gehen, können Sie mit Javascript bleiben, und umgekehrt nur die Reihenfolge der Zuordnungen:

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 auf den meisten modernen Browsern als native Objekt und Methode zur Verfügung steht. Wenn nicht, können Sie json2.js

verwenden, aber wenn Sie eine Template-Engine JSON in HTML zu konvertieren, können Sie einen Blick auf pure.js

0

Ja, es gibt eine JSON Templating Engine. Ich weiß nicht, was Sie brauchen, aber Json-Templater ist eine Option.

template.json:

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

======== Der Code, der die Vorlage ======== verwendet

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