C# lê arquivo json

C# pode usar a biblioteca para ler arquivos JSON e ler o valor de uma determinada palavra-chave Newtonsoft.Json. Suponha que nosso arquivo JSON tenha esta aparência:

{
    "name": "Alice",
    "age": 25,
    "is_student": true,
    "hobbies": [
        "reading",
        "travelling"
    ]
}

Para ler o valor de uma das palavras-chave, primeiro você precisa definir uma classe de entidade correspondente para armazenar dados JSON. Por exemplo, as seguintes classes poderiam ser definidas:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public bool IsStudent { get; set; }
    public List<string> Hobbies { get; set; }
}

O arquivo JSON pode então ser lido e desserializado em Personum objeto do tipo usando o seguinte código:

using Newtonsoft.Json;
using System.IO;

// 读取 JSON 文件
string jsonFilePath = "example.json";
using (StreamReader sr = new StreamReader(jsonFilePath))
{
    string json = sr.ReadToEnd();
    // 解析 JSON 字符串
    var person = JsonConvert.DeserializeObject<Person>(json);
    // 获取某一个关键字的值
    Console.WriteLine(person.Name);
}

Neste código, primeiro abrimos StreamReadero arquivo JSON e o lemos em uma string. Em seguida, utilizamos JsonConvert.DeserializeObject<Person>()a função para desserializar a string para obter um Personobjeto do tipo person, por meio do personqual podem ser acessadas diversas informações nos dados JSON, por exemplo, nameo valor da palavra-chave pode ser obtido person.Name.

Deve-se observar que o código do exemplo acima é apenas o método mais básico de leitura de um arquivo JSON e obtenção do valor de uma determinada palavra-chave. Se quiser ler arquivos JSON com estruturas mais complexas, você precisa entender melhor e estar familiarizado com Newtonsoft.Jsonvárias operações e funções da biblioteca. Além disso, se o nome de uma palavra-chave nos dados JSON for igual a uma palavra-chave reservada em C#, você poderá adicionar o atributo ao atributo na classe de entidade [JsonProperty("keyName")]para especificar a palavra-chave JSON correspondente do atributo.

Guess you like

Origin blog.csdn.net/sxmsxmsmxm/article/details/130424877