Common Uses of JSON in ASP.NET MVC
Sending data to views: You can deserialize JSON data into a C# object or collection and pass it to the view using a model. For example, reading from a birds.json file and showing a list of birds.
Consuming APIs: MVC controllers can consume RESTful APIs that return data in JSON format. That data can then be bound to models and displayed.
AJAX calls: JavaScript or jQuery in your views can make AJAX requests to your controller actions. These methods can return JSON responses using JsonResult.
Reading a JSON File and Displaying It
Example:
This approach reads a local JSON file, converts its content into a list of objects, and sends it to a view for display.
🔹 JSON file (birds.json)
[
{ "ID": "001", "Name": "Eurasian Collared-Dove", "Type": "Dove" },
{ "ID": "002", "Name": "Bald Eagle", "Type": "Hawk" }
]🔹 Model (modelBirds.cs)
public class modelBirds {
public int ID { get; set; }
public string Name { get; set; }
public string Type { get; set; }
}🔹 Controller
public ActionResult viewBirds() {
string sJSONfile = Server.MapPath("birds.json");
List<modelBirds> theBirds;
using (StreamReader sr = new StreamReader(sJSONfile)) {
var json = new JavaScriptSerializer();
theBirds = json.Deserialize<List<modelBirds>>(sr.ReadToEnd());
}
return View(theBirds);
}🔹 View
Finally, display the extract data using table.
<table>
<tr><th>ID</th><th>Name</th><th>Type</th></tr>
@foreach (var bird in Model) {
<tr>
<td>@bird.ID</td><td>@bird.Name</td><td>@bird.Type</td>
</tr>
}
</table>