首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用C#从控制器反转JSON.Stringify

如何使用C#从控制器反转JSON.Stringify
EN

Stack Overflow用户
提问于 2019-06-06 06:05:19
回答 1查看 999关注 0票数 0

我以JSON.Stringify($("ourForm").serializeArray())格式发送表单数据(我找不到任何其他方法将表单发送到控制器)

那么,我如何使用c#在控制器端逆转这种强化呢?

字符串如下所示(视图中有两个问题模块):

“{\”名称\“:\”question_string\“,\”值\“:\”\“},{\”名称\“:\”A\“,\”值\“:\”\“},{\”名称\“:\”B\“,\”值\“:\”\“},{\”名称\“:\”C\“,\”值\“:\”\“},{\”名称\“:\”D\“,\“值\”:\“\”},{\“名称\”:\“E\”,\“值\”:\“\”},{\“名称\”:\“correct_answer\”,\“值\”:\“\”},{\“名称\”:\“question_string\”,\“值\”:\“\”},{\“名称\”:\“A\”,\“值\”:\“\”},{\“名称\”:\“B\”,\“值\”:\“\”},{\“名称\”:\“C\”,\“值\”:\“\”},{\“名称\”:\“D\”,\“值\”:\“\”},{\“名称\”:\“E\”,\“值\”:\“\”},{\“名称\”:\“correct_answer\”,\“值\”:\“\”}

ViewModel:

public class Questions
{        
    [Display(Name ="QUESTION HERE")]
    public string question_string { get; set; }
    public string A { get; set; }
    public string B { get; set; }
    public string C { get; set; }
    public string D { get; set; }
    public string E { get; set; }
    [Display(Name ="CORRECT ANSWER")]
    public string correct_answer { get; set; }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-06 06:57:06

这可以通过Newtonsoft.Json来实现。创建要反序列化的POCO是最简单的(尽管如果愿意,使用dynamic类型进行反序列化可能会有一些技巧)。

[Example Here]

using System;
using System.Collections.Generic;
using Newtonsoft.Json;

// Create model we can deserialize to
public class FormData
{
    public string Name { get; set; }
    public string Value { get; set; }

    public FormData(string name, string val)
    {
        Name = name;
        Value = val;
    }
}

public class Program
{
    public static void Main()
    {
        var formData = "[{\"name\":\"question_string\",\"value\":\"\"},{\"name\":\"A\",\"value\":\"\"},{\"name\":\"B\",\"value\":\"\"},{\"name\":\"C\",\"value\":\"\"},{\"name\":\"D\",\"value\":\"\"},{\"name\":\"E\",\"value\":\"\"},{\"name\":\"correct_answer\",\"value\":\"\"},{\"name\":\"question_string\",\"value\":\"\"},{\"name\":\"A\",\"value\":\"\"},{\"name\":\"B\",\"value\":\"\"},{\"name\":\"C\",\"value\":\"\"},{\"name\":\"D\",\"value\":\"\"},{\"name\":\"E\",\"value\":\"\"},{\"name\":\"correct_answer\",\"value\":\"\"}]";

        var results = JsonConvert.DeserializeObject<List<FormData>>(formData);

        foreach (var datas in results)
        {
            Console.WriteLine(datas.Name);
        }
    }
}

/* OUTPUT:
question_string
A
B
C
D
E
correct_answer
question_string
A
B
C
D
E
correct_answer
*/
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56468651

复制
相关文章

相似问题

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