Leer un archivo JSON en C#
Este tutorial discutirá métodos para leer un archivo JSON en C#.
Leer un archivo JSON con la clase JsonConvert
en C#
La clase JsonConvert
se puede utilizar para leer datos JSON en objetos y variables y escribir objetos y variables en formato JSON en C#. La clase JsonConvert
está presente en el marco Json.net
, que no viene preinstalado. El comando para instalar Json.net
se da a continuación.
Install-Package Newtonsoft.Json
En este artículo, usaremos los siguientes datos JSON.
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
Para leer los datos de este archivo, primero tenemos que crear una clase de modelo que contenga todos los atributos que queremos leer del archivo.
file.json:
class datamodel {
public string key1 { get; set; }
public string key2 { get; set; }
public string key3 { get; set; }
}
Ahora tenemos una clase modelo que almacenará todos los datos del archivo JSON en objetos de clase. Podemos obtener datos de un archivo con la función JsonConvert.DeserializeObject()
en C#. La función JsonConvert.DeserializeObject()
toma los datos JSON en forma de una variable de cadena y los convierte en el objeto de clase de modelo de datos especificado. El siguiente ejemplo de código nos muestra cómo podemos obtener los datos de un archivo JSON en objetos de clase con la función JsonConvert.DeserializeObject()
en C#.
StreamReader r = new StreamReader("file.json");
string jsonString = r.ReadToEnd();
datamodel m = JsonConvert.DeserializeObject<datamodel>(jsonString);
Inicializamos un StreamReader
- r
para leer el archivo que contiene los datos JSON file.json
. Luego inicializamos el jsonString
, que son todos los datos dentro del archivo file.json
. Creamos una instancia de la clase datamodel
m
para almacenar el valor devuelto por la función JsonConvert.DeserializeObject<datamodel>(jsonString)
. Este es el método más fácil para leer y escribir datos en un archivo JSON en C#.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn