I am using asp.net entity framework, when I tried to convert entity object list to json and return jsonresult in mvc. I used json serialize, while running the application I got this following error,
Problem with this following code:
[HttpPost]
public ActionResult CreateJson()
{
try
{
using (models context = new models())
{
var CustomerList = context.Customers.ToList();
var jsondata = new JavaScriptSerializer().Serialize(CustomerList);
string path =Server.MapPath("~/Json/");
System.IO.File.WriteAllText(path + "customer.json",jsondata);
return Json(CustomerList, JsonRequestBehavior.AllowGet);
}
}
catch (Exception ez)
{
return null;
}
}
Solution:
The database circular reference was solved by setting ProxyCreationEnabled to false. So those not to load to child objects of customer object. I have included the following line “context.Configuration.ProxyCreationEnabled = false;” in the json method.
using (models context = new models())
{
context.Configuration.ProxyCreationEnabled= false; // included the following code
var CustomerList =context.Customers.ToList();
var jsondata = new JavaScriptSerializer().Serialize(CustomerList);
string path =Server.MapPath("~/Json/");
System.IO.File.WriteAllText(path + "customer.json",jsondata);
return Json(CustomerList, JsonRequestBehavior.AllowGet);
}
Post your comments / questions
Recent Article
- Your system's memory configuration has changed since it entered hibernation.
- Save image to client browser using jQuery?
- Get filename of image jQuery?
- How to get the image src using JavaScript?
- System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Net.Http.Formatting' with identity 'System.Net.Http.Formatting, Version=4.0.0.0
- Cordova Android build error "Cannot read property 'length' of undefined". An error occurred while running subprocess cordova.
- ERROR in The Angular Compiler requires TypeScript >=3.9.2 and <4.0.0 but 3.8.3 was found instead
- Code ENOLOCAL Could not install from "android" as it does not contain a package.json file.
Related Article