【问题标题】:What will passing a Dictionary into Controller.Json return?将 Dictionary 传递给 Controller.Json 会返回什么?
【发布时间】:2009-12-02 22:27:08
【问题描述】:

假设我有一个像这样的Dictionary<string,object>

var foo = new Dictionary<string, object>();
foo["bar"] = new
{
    Quux = "bacon",
    Quinge = 42
};
foo["baz"] = DateTime.Now;

我希望它对用户的结果类似于:

{"bar":{"Quux":"bacon","Quinge":42},"baz":"2009-12-02 17:23:00"}

不过,也可以这样:

[{"Key":"bar","Value":{"Quux":"bacon","Quinge":42}},
{"Key":"baz","Value":"2009-12-02 17:23:00"}]

会是哪个,如果是后者,我需要做什么来确保我得到前者?

【问题讨论】:

    标签: .net asp.net-mvc json


    【解决方案1】:

    返回:

    {"bar":{"Quux":"bacon","Quinge":42},"baz":"\/Date(1259795535958)\/"}
    

    如果您需要在 .NET 中执行任何 JSON 操作,我建议您访问 Json.NET 库。

    HTH,
    查尔斯

    【讨论】:

    • 对我作为 ASP.NET MVC tyvm 的一部分获得的 JSON 功能非常满意。
    • 当然。你知道我是从内置的 ASP.NET MVC 东西中得到这个结果的吗?很容易秒杀。我只是建议一个库,如果你碰巧需要它,它可以为你提供高级 JSON 序列化和解析。
    • 借助 Json.net,您还可以获得 linq 功能。非常方便。
    【解决方案2】:

    与第一个类似,但属性名称没有引号。日期也不会像那样序列化,而是调用 Date() javascript函数。

    【讨论】:

      猜你喜欢
      • 2021-06-09
      • 2015-07-02
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 2018-12-15
      • 2011-08-21
      • 2020-07-09
      相关资源
      最近更新 更多