Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我想把json字符串转换成C数组_C#_Json - Fatal编程技术网

C# 我想把json字符串转换成C数组

C# 我想把json字符串转换成C数组,c#,json,C#,Json,我的模型 public class Questions { public string Question { get; set; } public string[] Options { get; set; } } 我的控制器创建纸张的方法 [HttpPost] public ActionResult Create() { var resolveRequest = HttpContext.Request; resolveReque

我的模型

public class Questions
{
    public string Question { get; set; }

    public string[] Options { get; set; }
}
我的控制器创建纸张的方法

[HttpPost]
    public ActionResult Create()
    {
        var resolveRequest = HttpContext.Request;
        resolveRequest.InputStream.Seek(0, SeekOrigin.Begin);
        string jsonString = new StreamReader(resolveRequest.InputStream).ReadToEnd();
        var dist = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(jsonString);
        string[] result = dist.Select(kv => kv.Value.ToString()).ToArray();
        var conn = new MongoClient(Settings.Default.ConnectionStringSetting);
       var server = conn.GetServer();
        mongodb = server.GetDatabase(Settings.Default.DbMongoName);
        var collection = mongodb.GetCollection<MultiChoice>("MultiChoice");
        collection.Update(Query<PaperDetail>.EQ(s => s.paperName, "sam"), Update<MultiChoice>.AddToSet(s => s.questions, new Questions { Question = "Some question", Options = result }));
        return RedirectToAction("MultipleChoice");
    }

我想将我的json字符串转换为字符串数组,并将所有数据传递给字符串[]选项,就像您试图用类似的代码生成一个多选,然后尝试将json字符串转换回来一样,而不是ASP.Net MVC或WebAPI希望您这样做。有非常简单的方法可以做到这一点。最好的办法是:

使用编辑器模板渲染视图 使用form post直接发布,并使用默认的ModelBinder为您绑定它。您将直接获取对象。MVC将为您转换它。 试试这篇文章-

编辑:

用这样的东西-

[HttpPost]
public ActionResult Create(Questions model)
{
}
但要使其工作,您必须使用与此类似的视图-

@model Questions
......

@using (Html.BeginForm("Create", ..., FormMethod.Post,..)
{
    @Html.TextBoxFor(x => x.Question)

    @Html.DropDownListFor(model => model.Options, Model.Options.Select(x => new SelectListItem() { Text = x Value = x }))

问题是什么?@Arijoon至少没有:D,我看不出来……如何将json数组反序列化为c字符串数组??您会遇到什么错误?请告诉我如何将json字符串中的所有值都转换为数组。?我已经这样做了,但您似乎只需要解决方案,不想了解这一点。从长远来看不好。无论如何,请检查编辑。