Before reading some code, it is important to undersand the main concepts that will help to program applications using json.
Serialization: Process of converting a object into a stream of bytes that can be sent through applications. The following code can be serialized and converted into the previous json.
Deserialization: Process of converting a json/stream of bytes into an object. Its exactly the opposite process of serialization. The previous json can be deserialized into an C# object as demonstrated in examples below.
To work this out, it is important to turn the json structure into classes in order to use processes already described. If you use Visual Studio, you can turn a json into a class automatically just by selecting "Edit/Paste Special/Paste JSON as Classes" and pasting the json structure.
using Newtonsoft.Json;
class Author
{
[JsonProperty("id")] // Set the variable below to represent the json attribute
public int id; //"id"
[JsonProperty("name")]
public string name;
[JsonProperty("type")]
public string type;
[JsonProperty("books")]
public Book[] books;
public Author(int id, string name, string type, Book[] books) {
this.id = id;
this.name = name;
this.type= type;
this.books = books;
}
}
class Book
{
[JsonProperty("name")]
public string name;
[JsonProperty("date")]
public DateTime date;
}