標籤:images sof type baidu htm mod resource log serialize
在開發中,有時我們需要在View層中拿到Model返回的資料並且是一個Json對象,那麼我們就可以利用Newtonsoft.Json.JsonConvert.SerializeObject(Model)將Model層還原序列化,由於js拿到還原序列化的資料後一些特殊字元還需要處理,如:雙引號"還原序列化後會變成",所以要將其替換成",str.replace(/"/g,"\""),然後再用js函數JSON.parse將其轉換,就得到一個Json對象
後台C#代碼:
namespace MvcApplication1.Controllers{ public class HomeController : Controller { public ActionResult Index() { View_News View_News = new View_News(); List<News> NewsList = new List<News>(); NewsList.Add(new News() { Url = "www.baidu.com", Image = "/Resource/Skin02", Title = "Tom" }); NewsList.Add(new News() { Url = "www.taobao.com", Image = "/Resource/Skin03", Title = "Jim" }); NewsList.Add(new News() { Url = "www.jd.com", Image = "/Resource/Skin04", Title = "Jess" }); View_News.NewsList = NewsList; return View(View_News); } } public class View_News { public List<News> NewsList { get; set; } } public class News { public string Url { get; set; } public string Image { get; set; } public string Title { get; set; } }}
前台代碼:
@model MvcApplication1.Controllers.View_News@{ Layout = null; string str = Newtonsoft.Json.JsonConvert.SerializeObject(Model.NewsList);}<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width" /> <title>Index</title> <script src="~/Scripts/jquery-1.8.2.min.js"></script> <script type="text/javascript"> var picData = {}; var theString = ‘@(str)‘; theString = theString.replace(/"/g,"\""); var temp = JSON.parse(theString); picData.news = temp; console.log(picData); </script></head>
輸出結果:
MVC之Model轉Json