How to read and write json file in c#
By FoxLearn 11/19/2024 7:44:13 AM 17
JSON is a lightweight, text-based data format used for representing structured data. It is commonly utilized for configuration files, API communication, and data storage due to its simplicity and ease of use.
Define a class to represent your data structure.
public class Person { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } }
To save data, you convert the `Person` objects into JSON format and write the resulting JSON to a file.
// Create a sample object var person = new Person() { Id = 1, Name = "John Doe", Age = 30 }; // Serialize the object to JSON string jsonString = JsonSerializer.Serialize(person); // c# Write JSON string to file File.WriteAllText("person.json", jsonString);
To load the data, you read the JSON content from the file and convert it back into a list of `Person` objects.
For example:
// c# read JSON string from file string jsonString = File.ReadAllText("person.json"); // Deserialize JSON string into object Person person = JsonSerializer.Deserialize<Person>(jsonString);
You can also create a method to write data to a JSON file like this:
async Task WriteJsonToFileAsync(string fileName, List<Person> persons) { string json = JsonSerializer.Serialize(persons, new JsonSerializerOptions { WriteIndented = true }); await File.WriteAllTextAsync(fileName, json); }
You can also create a method to read data from a JSON file like this:
async Task<List<Person>> ReadJsonFromFileAsync(string fileName) { string json = await File.ReadAllTextAsync(fileName); return JsonSerializer.Deserialize<List<Person>>(json); }
For example read and write json file in C#:
string fileName = "data.json"; // Create sample objects var persons = new List<Person> { new Person{ Id = 1, Name = "John Doe", Age = 30 }, new Person { Id = 2, Name = "Lucy", Age = 26 } }; // c# write the data to a JSON file await WriteJsonToFileAsync(fileName, persons);
Next, we will read json file, then convert to list object in c#.
// c# read JSON file to object var persons = await ReadJsonFromFileAsync(fileName); // Display the data foreach (var person in persons) { Console.WriteLine($"Id: {person.Id}, Name: {person.Name}, Age: {person.Age}"); }