Saltar al contenido

¿Cómo guardo un archivo JSON con sangría de cuatro espacios usando JSON.NET?

Ten en cuenta que en la informática un error casi siempere puede tener diversas resoluciones, de igual modo nosotros enseñaremos lo más óptimo y mejor.

Solución:

El problema es que estás usando config.ToString()por lo que el objeto ya está serializado en un string y formateado cuando lo escribe usando el JsonTextWriter.

Utilice un serializador para serializar el objeto al escritor en su lugar:

JsonSerializer serializer = new JsonSerializer();
serializer.Serialize(jw, config);

Me encontré con el mismo problema y descubrí que WriteRaw no afecta la configuración de sangría, sin embargo, puede resolver el problema usando WriteTo en JObject

using (FileStream fs = File.Open("config.json", FileMode.OpenOrCreate))

    using (StreamWriter sw = new StreamWriter(fs))
    
        using (JsonTextWriter jw = new JsonTextWriter(sw))
        
            jw.Formatting = Formatting.Indented;
            jw.IndentChar = ' ';
            jw.Indentation = 4;

            config.WriteTo(jw);
        
    

Reseñas y puntuaciones

Recuerda que puedes compartir este post si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *