什么会将Dictionary传递给Controller.Json返回?

时间:2009-12-02 22:27:09

标签: .net asp.net-mvc json

假设我有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"}]

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

2 个答案:

答案 0 :(得分:2)

它返回:

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

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

HTHS,
查尔斯

答案 1 :(得分:1)

它就像第一个,虽然属性名称没有引号。日期也不会像这样序列化,而是调用Date()javascript函数。