上传JSON文件和解析

时间:2013-08-20 16:34:40

标签: c# asp.net-mvc json twitter-bootstrap

我使用自定义引导程序,链接:http://jasny.github.io/bootstrap/javascript.html#fileupload我有一个按钮来上传文件。 这个文件是JSON,我想在我的Controller上读取它。我怎样才能做到这一点?使用文件参数的方法,并使用Json Parser读取此文件。

2 个答案:

答案 0 :(得分:3)

只需创建表单并创建如下所示的操作:

using System.Web.Script.Serialization;

[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
    if (file.ContentLength > 0)
    {
        // get contents to string
        string str = (new StreamReader(file.InputStream)).ReadToEnd();

        // deserializes string into object
        JavaScriptSerializer jss = new JavaScriptSerializer();
        var d = jss.Deserialize<dynamic>(str);

        // once it's an object, you can use do with it whatever you want
    }
}

答案 1 :(得分:2)

查看JSON解析器。如果你到这里(http://theburningmonk.com/benchmarks/)并向下滚动到JSON Serializers,你会看到一个流行的serizalizers及其表现的列表。

根据您对JSON的需求,您可以反序列化为dyanmic,并且很容易只使用.运算符访问对象的成员。您的另一个选择是使用http://json2csharp.com/生成与JSON布局匹配的类文件,并允许您反序列化为精确对象。

至于上传部分,我建议你看看这里:File Upload ASP.NET MVC 3.0