C#中,JSON字符串转换成对象。

在前台提交(post)的数据中。除了强类型的数据外,还有一个额外的json数据提交

在这里我的办法是,在前台把json对象转换成字符串,然后提交。

测试demo

前台:

    @using(Html.BeginForm())
    {
        <input type="text" id="json" name="json"/>
        <input type="submit" value="提交"/>
    }

<script>
    var json = [{ "Name": "小马宝莉", "ID": 9, "Stock": "abc" }];
    json.push({ "Name": "海绵宝宝", "ID": 8, "Stock": "xyz" })
    var jsonstr = JSON.stringify(json);

    $('#json').val(jsonstr);
    //alert(jsonstr);
</script>

  后台:

       [HttpPost]
        public ActionResult AjaxPager(string json)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            //JsonClass jsonClass = (JsonClass)js.Deserialize(json, typeof(JsonClass)); ;
            //var test = js.Deserialize(json, typeof(JsonClass));
            
            // 如果是一维数组的json用这个
            // JsonClass jc = js.Deserialize<JsonClass>(json);


            // 把多维数组转换成List泛型。
            List<JsonClass> jc = js.Deserialize<List<JsonClass>>(json);

            return View();
        }
    }
    public class JsonClass
    {
        public string Name { get; set; }
        public int ID { get; set; }
        public string Stock { get; set; }
    }

  这样就可以方便处理了。

记录一下。备用

posted @ 2015-12-26 22:43  糖果的二师兄  阅读(20364)  评论(0编辑  收藏  举报