Leggere un file JSON in C#
Questo tutorial discuterà i metodi per leggere un file JSON in C#.
Leggere un file JSON con la classe JsonConvert
in C#
La classe JsonConvert
può essere utilizzata per leggere dati JSON in oggetti e variabili e scrivere oggetti e variabili in formato JSON in C#. La classe JsonConvert
è presente nel framework Json.net
, che non è preinstallato. Di seguito viene fornito il comando per installare Json.net
.
Install-Package Newtonsoft.Json
In questo articolo, useremo i seguenti dati JSON.
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
Per leggere i dati da questo file, dobbiamo prima creare una classe modello che contenga tutti gli attributi che vogliamo leggere dal file.
file.json:
class datamodel {
public string key1 { get; set; }
public string key2 { get; set; }
public string key3 { get; set; }
}
Ora abbiamo una classe modello che memorizzerà tutti i dati dal file JSON in oggetti di classe. Possiamo ottenere dati da un file con la funzione JsonConvert.DeserializeObject()
in C#. La funzione JsonConvert.DeserializeObject()
prende i dati JSON sotto forma di una variabile stringa e li converte nell’oggetto classe del modello di dati specificato. Il seguente esempio di codice ci mostra come possiamo ottenere i dati da un file JSON in oggetti di classe con la funzione JsonConvert.DeserializeObject()
in C#.
StreamReader r = new StreamReader("file.json");
string jsonString = r.ReadToEnd();
datamodel m = JsonConvert.DeserializeObject<datamodel>(jsonString);
Abbiamo inizializzato uno StreamReader
- r
per leggere il file contenente i dati JSON file.json
. Abbiamo quindi inizializzato la jsonString
, che è tutti i dati all’interno del file file.json
. Abbiamo creato un’istanza della classe datamodel
m
per memorizzare il valore restituito dalla funzione JsonConvert.DeserializeObject<datamodel>(jsonString)
. Questo è il metodo più semplice per leggere e scrivere dati in un file JSON in 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