Wenn Sie den Schlüssel in dem verschachtelten Objekt kennen, die Sie abrufen sind versuchen, können Sie eine Funktion verwenden.
siehe: http://jsfiddle.net/jimschubert/zPWDJ/
js:
$(function() {
var names = {
"a": [
{"foo": { "name": "foo name"}},
{"bar": { "name": "bar name"}},
{"zap": { "name": "zap name"}}
],
"n": function() {
var self = this;
var n = "";
Object.keys(self).forEach(function(k, v) {
if (typeof self[k] == "object") {
if(!n) n = self[k]["name"];
}
});
return n;
}
};
var template = $('#template').html();
var out = $('#output');
var html = Mustache.to_html(template, names);
console.log(html);
out.html(html);
});
html:
<script id="template" class="template" type="text/x-mustache">
{{#a}}
<p>{{n}}</p>
{{/a}}
</script>
<h1>Output</h1>
<div id="output">
</div>
Dies setzt natürlich voraus, Ihre Daten ist ein Array von Objekten (die a
in Ihrem Beitrag wäre ein Schlüssel von einem größeren Array, vielleicht?) Wenn Sie kein Array haben, sehe ich nicht, warum Sie nicht in der Lage sein würden, dies für ein Objekt anzupassen und eine Getter-Funktion für wha zu machen Eigenschaften jedes gesuchten Schlüssels.
Können Sie das ein bisschen genauer beschreiben? Möchten Sie die Elemente 'foo',' bar' und 'zap' oder die Schlüssel selbst iterieren? – ZeissS
@ZeissS bearbeitet * – samccone