typestar

LINQ to JSON en C#

Consultar el árbol JSON en sí, antes de que exista clase alguna.

using Newtonsoft.Json.Linq;

var feed = JArray.Parse("""
[{"name": "auth", "errors": 0}, {"name": "api", "errors": 7},
 {"name": "worker", "errors": 2}]
""");

// LINQ opera directo sobre los tokens, antes de que exista clase alguna
var noisy = feed
    .Where(s => (int)s["errors"] > 0)
    .OrderByDescending(s => (int)s["errors"])
    .Select(s => $"{s["name"]}: {s["errors"]}");

Console.WriteLine(string.Join("\n", noisy));

Cómo funciona

  1. JArray.Parse produce tokens que LINQ puede enumerar.
  2. Casts como (int)s["errors"] leen hojas dentro de la consulta.
  3. Filtra, ordena y proyecta sin una clase modelo a la vista.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
415
Tokens
75
Ritmo de tres estrellas
85 tpm

Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 53 segundos.

Escribe este fragmento

Paso 3 de 3 en JSON con Newtonsoft; paso 3 de 16 en El ecosistema abierto.

← Anterior Siguiente →