首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C#中创建这个JSON?

如何在C#中创建这个JSON?
EN

Stack Overflow用户
提问于 2019-09-05 17:48:21
回答 2查看 108关注 0票数 0

如何在C#中创建这个JSON字符串?如果我不想创建一个用Json.NET序列化的ViewModel,有没有其他方法?

请参考下面的JSON字符串:

代码语言:javascript
复制
{
    "1": { "1年期": "12", "13個月期": "13", "2年期": "24", "3年期": "36"},
    "2": { "1年期": "12", "13個月期": "13", "2年期": "24", "3年期": "36"},
    "3": { "1個月期": "1", "3個月期": "3", "6個月期": "6", "9個月期": "9", "1年期": "12", "13個月期": "13", "2年期": "24", "3年期": "36" }
};
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-06 05:57:02

您可以使用Dictionary<string, Dictionary<string, string>>创建JSON。首先用你想要的数据建立字典,然后使用Json()方法从你的MVC控制器返回它,如下所示:

代码语言:javascript
复制
public ActionResult GetMyJson()
{
    var dict = new Dictionary<string, Dictionary<string, string>>()
    {
        {
            "1", new Dictionary<string, string>()
            {
                { "1年期", "12" },
                { "13個月期", "13" },
                { "2年期", "24" },
                { "3年期", "36" },
            }
        },
        {
            "2", new Dictionary<string, string>()
            {
                { "1年期", "12" },
                { "13個月期", "13" },
                { "2年期", "24" },
                { "3年期", "36" },
            }
        },
        {
            "3", new Dictionary<string, string>()
            {
                { "1個月期", "1" },
                { "3個月期", "3" },
                { "6個月期", "6" },
                { "9個月期", "9" },
                { "1年期", "12" },
                { "13個月期", "13" },
                { "2年期", "24" },
                { "3年期", "36" },
            }
        }
    };

    return Json(dict);
}

或者,您可以使用Json.Net序列化字典,如下所示:

代码语言:javascript
复制
string json = JsonConvert.SerializeObject(dict, Formatting.Indented);

但是,如果您使用这种方法,并且希望从MVC控制器内部返回JSON,则需要使用Content()方法:

代码语言:javascript
复制
return Content(json, "application/json");
票数 1
EN

Stack Overflow用户

发布于 2019-09-06 15:38:53

这是另一个可以分享的答案。

代码语言:javascript
复制
JObject obj_1 = new JObject(
    new JProperty("12", "1年期"), 
    new JProperty("13", "13個月期"), 
    new JProperty("24", "2年期"), 
    new JProperty("36", "3年期")
);

JObject obj_2 = new JObject(
    new JProperty("12", "1年期"), 
    new JProperty("13", "13個月期"), 
    new JProperty("24", "2年期"), 
    new JProperty("36", "3年期")
);

JObject obj_3 = new JObject(
    new JProperty("1", "1個月期"), 
    new JProperty("3", "3個月期"), 
    new JProperty("6", "6個月期"), 
    new JProperty("9", "9個月期"), 
    new JProperty("12", "1年期"), 
    new JProperty("13", "13個月期"), 
    new JProperty("24", "2年期"), 
    new JProperty("36", "3年期")
);

JObject objectParent = new JObject();
objectParent.Add("1", obj_1);
objectParent.Add("2", obj_2);
objectParent.Add("3", obj_3);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57802770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档