Moustache JS Template z JSON Collection

Cześć, to moja pierwsza próba użycia MustacheJS z usługą WWW JSON w .net

Obecnie walczę, że nie mogę znaleźć tego, co robię źle ustawiając ten podstawowy przykład:

Moja usługa sieci Web ponawia następujący ciąg:

[
  {
    "ShortDescription":"BOX",
    "Description":"BOXING",
    "Id":1
  },
  {
    "ShortDescription":"EPL",
    "Description":"ENGLISH PREMIER LEAGUE",
    "Id":2
  }
]

Sprawdziłem jego składnię na tej stronie:http://json.parser.online.fr/

a oto kod HTML, którego używam:

google.load("jquery", "1");
google.setOnLoadCallback(function () {
    $(document).ready(
        function () {

            $.ajax({
                url: "../data.asmx/geteagues",
                type: "POST",
                dataType: "json",
                data: "",
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    var template = "<h1>{{ShortDescription}} {{Description}}</h1>";
                    var html = Mustache.render(template, data);
                    $('#sampleArea').html(html);
                    alert(html);
                }
            })

        }
    )
});

Wysyłam cały kod JS, ponieważ nie jestem bardzo dobry z javascript, zasadniczo chcę załadować zawsze najnowszą wersję JQuery z google, a następnie zadzwonić do WS.

Jak dotąd problem polega na umieszczeniu punktu przerwania w następującym wierszu:

 var html = Mustache.render(template, data);

Widzę, że szablon jest ustawiony poprawnie, podobnie jak dane o tej samej wartości, co powyżej, ale funkcja .render powraca:

Wydaje mi się, że dane nie podobały się.

Do tej pory wszystkie przykłady, które widziałem dla danych wbudowanych, mają następującą strukturę:

{
  "repo": [
    { "name": "resque" },
    { "name": "hub" },
    { "name": "rip" },
  ]
}

A następnie szablon zdefiniowany w ten sposób:

{{#repo}}
  <b>{{name}}</b>
{{/repo}}

Ale jedyną różnicą w stosunku do moich danych jest to, że nie mam „rodzica” takiego jak „repo”

Po stronie serwera korzystam z biblioteki .net o nazwie JSON.net iw dokumentacji dotyczącej serializacji kolekcji:

james.newtonking.com/projects/json/help/html/SerializingCollections.htm

ostateczny wynik nie zawiera nazwy węzła nadrzędnego, której brakuje mi w mojej definicji szablonu Moustache:

[
  {
    "Name": "Product 1",
    "ExpiryDate": "2000-12-29T00:00Z",
    "Price": 99.95,
    "Sizes": null
  },
  {
    "Name": "Product 2",
    "ExpiryDate": "2009-07-31T00:00Z",
    "Price": 12.50,
    "Sizes": null
  }
]

Czy tego właśnie brakuje? węzeł nadrzędny „repo” z moich danych, abym mógł iterować mój szablon?

Z góry dziękuję za poświęcony czas.

-ed

questionAnswers(3)

yourAnswerToTheQuestion