{"id":204,"date":"2021-03-26T10:20:12","date_gmt":"2021-03-26T01:20:12","guid":{"rendered":"https:\/\/mvc.auctionpro.co.kr\/?page_id=204"},"modified":"2021-03-26T10:33:48","modified_gmt":"2021-03-26T01:33:48","slug":"jsonresult","status":"publish","type":"page","link":"https:\/\/mvc.auctionpro.co.kr\/?page_id=204","title":{"rendered":"JsonResult"},"content":{"rendered":"<h3>Remark : <\/h3>\n<h4> <\/h4>\n<pre class=\"lang:default decode:true \" title=\"UserModel.cs\" >namespace JsonResultDemo.Models\r\n{\r\n    public class UserModel\r\n    {\r\n        public int UserId { get; set; }\r\n        public string UserName { get; set; }\r\n        public string Company { get; set; }\r\n    }\r\n}<\/pre>\n<pre class=\"lang:default decode:true \" title=\"JsonDemoController.cs\" >using System;\r\nusing System.Collections.Generic;\r\nusing System.Text;\r\nusing System.Web.Mvc;\r\nusing System.Web.Script.Serialization;\r\nusing JsonResultDemo.Models;\r\n\r\nnamespace JsonResultDemo.Controllers\r\n{\r\n    public class JsonDemoController : Controller\r\n    {\r\n        #region ActionControllers\r\n\r\n        \/\/\/ &lt;summary&gt;\r\n        \/\/\/ Welcome Note Message\r\n        \/\/\/ &lt;\/summary&gt;\r\n        \/\/\/ &lt;returns&gt;In a Json Format&lt;\/returns&gt;\r\n        public JsonResult WelcomeNote()\r\n        {\r\n            bool isAdmin = false;\r\n            \/\/TODO: Check the user if it is admin or normal user, (true-Admin, false- Normal user)\r\n            string output = isAdmin ? \"Welcome to the Admin User\" : \"Welcome to the User\";\r\n\r\n            return Json(output, JsonRequestBehavior.AllowGet);\r\n        }\r\n\r\n        \/\/\/ &lt;summary&gt;\r\n        \/\/\/ Get tthe Users data in Json Format\r\n        \/\/\/ &lt;\/summary&gt;\r\n        \/\/\/ &lt;returns&gt;&lt;\/returns&gt;\r\n        public JsonResult GetUsersData()\r\n        {\r\n            var users = GetUsers();\r\n            return Json(users, JsonRequestBehavior.AllowGet);\r\n        }\r\n\r\n        \/\/\/ &lt;summary&gt;\r\n        \/\/\/ Sample View\r\n        \/\/\/ &lt;\/summary&gt;\r\n        \/\/\/ &lt;returns&gt;&lt;\/returns&gt;\r\n        public ActionResult Sample()\r\n        {\r\n            return View();\r\n        }\r\n\r\n        \/\/\/ &lt;summary&gt;\r\n        \/\/\/ Update the user details\r\n        \/\/\/ &lt;\/summary&gt;\r\n        \/\/\/ &lt;param name=\"usersJson\"&gt;users list in Json Format&lt;\/param&gt;\r\n        \/\/\/ &lt;returns&gt;&lt;\/returns&gt;\r\n        [HttpPost]\r\n        public JsonResult UpdateUsersDetail(string usersJson)\r\n        {\r\n            var js = new JavaScriptSerializer();\r\n            UserModel[] user = js.Deserialize&lt;UserModel[]&gt;(usersJson);\r\n\r\n            \/\/TODO: user now contains the details, you can do required operations\r\n            return Json(\"User Details are updated\");\r\n        }\r\n        \r\n        \/\/\/ &lt;summary&gt;\r\n        \/\/\/ Get the huge list of Users\r\n        \/\/\/ &lt;\/summary&gt;\r\n        \/\/\/ &lt;returns&gt;&lt;\/returns&gt;\r\n        public JsonResult GetUsersHugeList()\r\n        {\r\n            var users = GetUsersHugeData();\r\n            return Json(users, JsonRequestBehavior.AllowGet);\r\n        }\r\n\r\n        #endregion\r\n\r\n\r\n        #region Methods\r\n\r\n        \/\/\/ &lt;summary&gt;\r\n        \/\/\/ Get the Users\r\n        \/\/\/ &lt;\/summary&gt;\r\n        \/\/\/ &lt;returns&gt;&lt;\/returns&gt;\r\n        private List&lt;UserModel&gt; GetUsers()\r\n        {\r\n            var usersList = new List&lt;UserModel&gt;\r\n            {\r\n                new UserModel\r\n                {\r\n                    UserId = 1,\r\n                    UserName = \"Ram\",\r\n                    Company = \"Mindfire Solutions\"\r\n                },\r\n                new UserModel\r\n                {\r\n                    UserId = 1,\r\n                    UserName = \"chand\",\r\n                    Company = \"Mindfire Solutions\"\r\n                },\r\n                new UserModel\r\n                {\r\n                    UserId = 1,\r\n                    UserName = \"Abc\",\r\n                    Company = \"Abc Solutions\"\r\n                }\r\n            };\r\n\r\n            return usersList;\r\n        }\r\n\r\n        \/\/\/ &lt;summary&gt;\r\n        \/\/\/ Get the huge list of users\r\n        \/\/\/ &lt;\/summary&gt;\r\n        \/\/\/ &lt;returns&gt;&lt;\/returns&gt;\r\n        private List&lt;UserModel&gt; GetUsersHugeData()\r\n        {\r\n            var usersList = new List&lt;UserModel&gt;();\r\n            UserModel user;\r\n            for (int i = 1; i &lt; 51000; i++)\r\n            {\r\n                user = new UserModel\r\n                {\r\n                    UserId = i,\r\n                    UserName = \"User-\"+i,\r\n                    Company = \"Company-\"+i\r\n                };\r\n                usersList.Add(user);\r\n            }\r\n\r\n            return usersList;\r\n        }\r\n\r\n        \/\/\/ &lt;summary&gt;\r\n        \/\/\/ Override the Json Result with Max integer json lenght\r\n        \/\/\/ &lt;\/summary&gt;\r\n        \/\/\/ &lt;param name=\"data\"&gt;Data&lt;\/param&gt;\r\n        \/\/\/ &lt;param name=\"contentType\"&gt;Content Type&lt;\/param&gt;\r\n        \/\/\/ &lt;param name=\"contentEncoding\"&gt;Content Encoding&lt;\/param&gt;\r\n        \/\/\/ &lt;param name=\"behavior\"&gt;Behavior&lt;\/param&gt;\r\n        \/\/\/ &lt;returns&gt;As JsonResult&lt;\/returns&gt;\r\n        protected override JsonResult Json(object data, string contentType,\r\n            Encoding contentEncoding, JsonRequestBehavior behavior)\r\n        {\r\n            return new JsonResult()\r\n            {\r\n                Data = data,\r\n                ContentType = contentType,\r\n                ContentEncoding = contentEncoding,\r\n                JsonRequestBehavior = behavior,\r\n                MaxJsonLength = Int32.MaxValue\r\n            };\r\n        }\r\n\r\n        #endregion\r\n    }\r\n}<\/pre>\n<h3> Test Tool <\/h3>\n<h4> JsonResultDemo.Tests. JsonDemoControllerTest <\/h4>\n<pre class=\"lang:default decode:true \" title=\"HomeControllerTest.cs\" >using System;\r\nusing System.Collections.Generic;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Web.Mvc;\r\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\r\nusing JsonResultDemo;\r\nusing JsonResultDemo.Controllers;\r\n\r\nnamespace JsonResultDemo.Tests.Controllers\r\n{\r\n    [TestClass]\r\n    public class HomeControllerTest\r\n    {\r\n        [TestMethod]\r\n        public void Index()\r\n        {\r\n            \/\/ Arrange\r\n            HomeController controller = new HomeController();\r\n\r\n            \/\/ Act\r\n            ViewResult result = controller.Index() as ViewResult;\r\n\r\n            \/\/ Assert\r\n            Assert.IsNotNull(result);\r\n        }\r\n\r\n        [TestMethod]\r\n        public void About()\r\n        {\r\n            \/\/ Arrange\r\n            HomeController controller = new HomeController();\r\n\r\n            \/\/ Act\r\n            ViewResult result = controller.About() as ViewResult;\r\n\r\n            \/\/ Assert\r\n            Assert.AreEqual(\"Your application description page.\", result.ViewBag.Message);\r\n        }\r\n\r\n        [TestMethod]\r\n        public void Contact()\r\n        {\r\n            \/\/ Arrange\r\n            HomeController controller = new HomeController();\r\n\r\n            \/\/ Act\r\n            ViewResult result = controller.Contact() as ViewResult;\r\n\r\n            \/\/ Assert\r\n            Assert.IsNotNull(result);\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<pre class=\"lang:default decode:true \" title=\"JsonDemoControllerTest.cs\" >using System;\r\nusing System.Web.Mvc;\r\nusing Microsoft.VisualStudio.TestTools.UnitTesting;\r\nusing JsonResultDemo.Controllers;\r\n\r\nnamespace JsonResultDemo.Tests.Controllers\r\n{\r\n    [TestClass]\r\n    public class JsonDemoControllerTest\r\n    {\r\n        [TestMethod]\r\n        public void WelcomeNote()\r\n        {\r\n            JsonDemoController controller = new JsonDemoController();\r\n\r\n            JsonResult result = controller.WelcomeNote();\r\n            string msg = Convert.ToString(result.Data);\r\n            \/\/ Assert\r\n            Assert.AreEqual(\"Welcome to the User\", msg);\r\n        }\r\n    }\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Remark : namespace JsonResultDemo.Models { public class UserModel { public int UserId { get; set; } public string UserName { get; set; } public string Company { get; set; } } } using System; using System.Collections.Generic; using System.Text; using System.Web.Mvc; using System.Web.Script.Serialization; using JsonResultDemo.Models; namespace JsonResultDemo.Controllers { public class JsonDemoController : Controller { #region ActionControllers\u2026 <span class=\"read-more\"><a href=\"https:\/\/mvc.auctionpro.co.kr\/?page_id=204\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-204","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=204"}],"version-history":[{"count":2,"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/204\/revisions"}],"predecessor-version":[{"id":208,"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/pages\/204\/revisions\/208"}],"wp:attachment":[{"href":"https:\/\/mvc.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}