Leggere un file JSON in C#

Muhammad Maisam Abbas 12 ottobre 2023
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#.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

Articolo correlato - Csharp JSON