mvc jsonresult 前台、后台解析

背景介绍:asp.net中使用json对象传参;mvc中可以直接使用jsonresult这个对象


 

一:怎么使用jsonresult

        public JsonResult text()
        {
            var strlist = new List<string>();

            // 数据添加

            return Json(new { strlist});
        }
//一个结果
//{"strlist":["/Upload/CRM/2017622/14981209357290.jpg"]}

这里给出了怎么使用jsonresult和最后得到的结果数据示例。


 

二:前台怎么调用

//response是在ajax中获取到的数据
 var strlist=$.parseJSON(response).strlist[0]; 
      alert(strlist);

 这里要注意的一点是数据如果是已一个strlist传入,在前台接收的时候就是多个key为strlist的值。

当然我这里传递进来的是一个list,也可以去传递更多的数据类型,这样的话就是在前台接受的时候需要注意到数据结构,然后通过多层解析拿到数据


 

三:在后台调用jsonresult

有个新的需求,在另一个后台方法中调用数据然后做一些处理,这样就要在后台解析数据,在这里我才用了老方法,把数据先反序列化一下

        public JsonResult UpLoadImageForCom(string Folder = "COM")
        {
           //数据源
            var urlname = UpLoadImageForGuest("COM");
            //{"urlname":["/Upload/CRM/2017622/14981209357290.jpg"]}
            JObject jo1 = (JObject)JsonConvert.DeserializeObject(urlname.ToString());
            string comurl = jo1["urlname"].ToString();
            ConfigService.UpdateCommercialTenantUrl(comurl);
            return urlname;
        }    

这是一个错误的实例,如果有好的方法,请发给我。urlname.data.urlname.value才会是我要的值,但是不是这么取得到的。

 

 

 

 

posted @ 2017-06-22 17:16  赵坤坤  阅读(2623)  评论(0编辑  收藏  举报