Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to display JSON data in a DataGridView in WinForms?

This is the JSON data that I have:

{"testId":1,"testName":"HTML","minScore":20,"score":40,"date":"12-2-2014","status":"PASSED"},
{"testId":1,"testName":"JAVA","minScore":20,"score":10,"date":"12-2-2014","status":"FAILED"}

How can I show it in a DataGridView?

like image 828
user3166111 Avatar asked Nov 27 '22 02:11

user3166111


1 Answers

So this is pretty straight forward:

  1. Declare a class to deserialize into.
  2. Grab the Json.NET NuGet Package.
  3. Deserialize the string.
  4. Bind the DataGridView.

Declare a class to deserialize into

public class JsonResult
{
    public int testId { get; set; }
    public string testName { get; set; }
    public int minScore { get; set; }
    public int score { get; set; }
    public DateTime date { get; set; }
    public string status { get; set; }
}

Grab the Json.NET NuGet Package

Pull the Json.NET NuGet Package in from here http://www.nuget.org/packages/Newtonsoft.Json/6.0.3.

Deserialize the string

var result = JsonConvert.DeserializeObject<List<JsonResult>>(input);

Bind the DataGridView

dataGridView.DataSource = result;

NOTE: this is the most primitive way of binding to the grid. There are many more options that you can leverage. One that comes to mind is, turning off AutoGenerateColumns and defining your own columns; designer-driven work so it wouldn't affect the code I've provided.

like image 152
Mike Perrenoud Avatar answered Jan 01 '23 02:01

Mike Perrenoud