无法使用Nustache使用Mustache模板呈现完整的JSON对象图

无法使用Nustache使用Mustache模板呈现完整的JSON对象图,json,asp.net-mvc-3,mustache,Json,Asp.net Mvc 3,Mustache,我有一个简单的JSON对象图,我正试图在ASP.NET MVC 3站点中使用(Nustache.Core和Nustache.MVC)使用Mustache模板来呈现 “我的对象图”表示一个简单的特许经营列表,每个特许经营列表都有一个或多个所有者(如果处于活动状态且正在运营),每个所有者都包含一个名称对象,该名称对象具有首字母、末字母、中间字母、后缀和标题: { "Count": 39, "Franchises": [ { "Id": "81e5e91b-37eb-4f6

我有一个简单的JSON对象图,我正试图在ASP.NET MVC 3站点中使用(
Nustache.Core
Nustache.MVC
)使用Mustache模板来呈现

“我的对象图”表示一个简单的特许经营列表,每个特许经营列表都有一个或多个所有者(如果处于活动状态且正在运营),每个所有者都包含一个名称对象,该名称对象具有首字母、末字母、中间字母、后缀和标题:

{
  "Count": 39,
  "Franchises": [
    {
      "Id": "81e5e91b-37eb-4f60-ac5f-d2d9a2c1b8fc",
      "Name": "My Franchise, Inc.",
      "Number": "001",
      "Owners": [],
      "Status": {
        "Id": 4,
        "Name": "Terminated"
      }
    },
    {
      "Id": "98887526-5b1d-4db9-9ddb-2be2cd6af957",
      "Name": "My Other Franchise, Inc.",
      "Number": "0002",
      "Owners": [
        {
          "Id": "cffd8de3-aa12-4dbf-b129-0886aea7d1b1",
          "Name": {
            "FirstName": "James",
            "LastName": "Drew",
            "MiddleName": null,
            "Suffix": null,
            "Title": null
          }
        }
      ],
      "Status": {
        "Id": 2,
        "Name": "Operating"
      }
    }.
    ...
  ]
}
我的MVC动作方法非常简单。使用
WebClient
从服务获取JSON,使用
JavaScriptSerializer
将JSON转换为字典并将其传递给视图:

public ActionResult Index()
{
    var json = null as String;
    var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();

    using (var client = new System.Net.WebClient())
    {
        json = client.DownloadString(@"http://my.service.com/franchises");
    }

    return PartialView(serializer.Deserialize<Dictionary<string, object>>(json));
}
public ActionResult Index()
{
var json=null作为字符串;
var serializer=new System.Web.Script.Serialization.JavaScriptSerializer();
使用(var client=new System.Net.WebClient())
{
json=client.DownloadString(@)http://my.service.com/franchises");
}
返回PartialView(serializer.Deserialize(json));
}
下面是我的基本胡须模板:

<ul>
  {{#Franchises}}
    <li><a id="{{Id}}" href="/franchises/details/{{Id}}">{{Number}}</a>
      {{#Owners}}
        TODO: Print Name Here
      {{/Owners}}
    </li>
  {{/Franchises}}
</ul>
    {{{特许经营权}
  • {{{#所有者} TODO:在这里打印姓名 {{/所有者}
  • {{/特许经营权}
我遇到的问题是打印每个所有者的姓名。该模板呈现除所有者姓名以外的所有内容,我尝试了几种模板变体,但没有成功;将
TODO:Print Name替换为:

  • {{Name}
    打印出
    System.Collections.Generic.Dictionary'2[System.String,System.Object]
    
    针对每个所有者对象

  • {{{{Name}}{{FirstName}}{{LastName}}{{/Name}}
    打印为空白

  • {{>Name}
    指向带有
    {{{{{FirstName}}{{LastName}}{{/Name}}
    {FirstName}{{LastName}}
    的模板都打印为空

  • 无论是
    {{Name.FirstName}}
    还是
    {{Name/FirstName}}
    都打印为空白


我不知道还能尝试什么。在对象图中导航不会这么困难。有人能告诉我我做错了什么吗?

正如Gazler在评论中指出的那样,我的问题肯定在Nustach内部。不幸的是,我似乎在.NET中找不到任何其他的Mustache实现,所以我可能不得不推出自己的(或至少添加到Nustache)来启用预期的功能

你好,我试过这个,你的第二种方法肯定有效。也许问题在于Nustache?是的,我已经得出结论,Nustache就是问题所在,与其他Mustache实现相比,它似乎非常有限。如果你提交作为答复,我将接受。谢谢