elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Modificar estados de espacios
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Modificar estados de espacios  (Leído 5,572 veces)
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Modificar estados de espacios
« en: 5 Marzo 2023, 02:53 am »

Hola:

Teniendo este código para guardar archivo.json.
Código
  1. using System.Text.Json;
  2.  
  3. namespace SerializeBasic
  4. {
  5.    public class PronosticoDelTiempo
  6.    {
  7.        public DateTimeOffset Fecha { get; set; }
  8.        public int TemperaturaCelsius { get; set; }
  9.        public string? Resumen { get; set; }
  10.    }
  11.  
  12.    public class Program
  13.    {
  14.        public static void Main()
  15.        {
  16.  
  17.  
  18.            var pronosticoDelTiempo = new PronosticoDelTiempo
  19.            {
  20.                Fecha = DateTime.Parse("2019-08-01"),
  21.                TemperaturaCelsius = 25,
  22.                Resumen = "Caliente."
  23.            };
  24.  
  25.            string nombreDelArchivo = "PronósticoDelTiempo.json";
  26.            string jsonString = JsonSerializer.Serialize(pronosticoDelTiempo);
  27.            File.WriteAllText(nombreDelArchivo, jsonString);
  28.  
  29.            // Crear archivo.
  30.            Console.WriteLine(File.ReadAllText(nombreDelArchivo));
  31.  
  32.            // Pulse cualquier tecla para salir.
  33.            Console.ReadKey();
  34.        }
  35.    }
  36. }

Crea un archivo y dentro de ella pone.
Código
  1. {"Fecha":"2019-08-01T00:00:00+01:00","TemperaturaCelsius":25,"Resumen":"Caliente."}

La idea es hacerlo así:
Código
  1. {    
  2.     "Fecha":"2019-08-01T00:00:00+01:00",
  3.     "TemperaturaCelsius":25,
  4.     "Resumen":"Caliente."
  5. }

Según el enlace de abajo hay que activarlo a true.

https://learn.microsoft.com/es-es/dotnet/api/system.text.json.jsonserializeroptions.writeindented?view=net-7.0#system-text-json-jsonserializeroptions-writeindented

¿Cómo lo activo?

Saludos.


En línea

Elektro Enjuto

Desconectado Desconectado

Mensajes: 121



Ver Perfil WWW
Re: Modificar estados de espacios
« Respuesta #1 en: 30 Agosto 2023, 19:41 pm »

Tan solo debes crear una instancia del tipo JsonSerializerOptions para asignar la propiedad WriteIndented, y luego envías ese objeto como argumento a una de las sobrecargas del método JsonSerializer.Serialize:

Código
  1. JsonSerializerOptions options = new JsonSerializerOptions();
  2. options.WriteIndented = true;

Código
  1. JsonSerializer.Serialize(..., options);


En línea

@%$& #$ %&#$, ¡hay que decirlo más!.
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: Modificar estados de espacios
« Respuesta #2 en: 2 Septiembre 2023, 16:00 pm »

Pues si. Ya me salió, gracias.

Código
  1. using System.Text.Json;
  2.  
  3. namespace Guardar_y_cargar_datos_en_archivo.json_.NET_7._0___02
  4. {
  5.    public partial class Form1 : Form
  6.    {
  7.        public Form1()
  8.        {
  9.            InitializeComponent();
  10.        }
  11.  
  12.        class MiInfo
  13.        {
  14.            public string? TextBox { get; set; }
  15.            public bool CheckBox { get; set; }
  16.            public bool RadioButton1_Luz { get; set; }
  17.            public bool RadioButton2_Luz { get; set; }
  18.        }
  19.  
  20.        void GuardarDatos()
  21.        {
  22.            var miInfo = new MiInfo
  23.            {
  24.                TextBox = textBox1.Text,
  25.                CheckBox = checkBox1.Checked,
  26.                RadioButton1_Luz = radioButton1.Checked,
  27.                RadioButton2_Luz = radioButton2.Checked
  28.            };
  29.  
  30.                // Guardar con espacios en blanco el archivo .json.
  31.                var opciones = new JsonSerializerOptions { WriteIndented = true };
  32.                string serializado = JsonSerializer.Serialize(miInfo, opciones);
  33.  
  34.                // Crear archivo Ejemplo.json.
  35.                File.WriteAllText(@"Ejemplo.json", serializado);
  36.        }
  37.  
  38.        void CargarDatos()
  39.        {
  40.            if (File.Exists(@"Ejemplo.json"))
  41.            {
  42.                string serializado = File.ReadAllText(@"Ejemplo.json");
  43.                MiInfo? miInfo = JsonSerializer.Deserialize<MiInfo>(serializado);
  44.  
  45.                if (miInfo != null)
  46.                {
  47.                    textBox1.Text = miInfo.TextBox;
  48.                    checkBox1.Checked = miInfo.CheckBox;
  49.                    radioButton1.Checked = miInfo.RadioButton1_Luz;
  50.                    radioButton2.Checked = miInfo.RadioButton2_Luz;
  51.                }
  52.            }
  53.        }
  54.  
  55.        private void button_Guardar_Click(object sender, EventArgs e)
  56.        {
  57.            GuardarDatos();
  58.        }
  59.  
  60.        private void Form1_Load(object sender, EventArgs e)
  61.        {
  62.            CargarDatos();
  63.        }
  64.    }
  65. }

Resultado.
Código
  1. {
  2.  "TextBox": "Hola loca",
  3.  "CheckBox": true,
  4.  "RadioButton1_Luz": true,
  5.  "RadioButton2_Luz": false
  6. }
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Espacios de más en un txt
Programación Visual Basic
MandingoPC 2 2,059 Último mensaje 23 Diciembre 2011, 20:50 pm
por MandingoPC
Modificar Grub para modificar propiedades de otros distros
GNU/Linux
Puntoinfinito 7 5,629 Último mensaje 2 Agosto 2012, 01:37 am
por dato000
¿Espacios o Tabuladores?
Foro Libre
MinusFour 0 1,652 Último mensaje 4 Marzo 2016, 03:31 am
por MinusFour
Tabulaciones o espacios? « 1 2 »
Foro Libre
RevolucionVegana 11 6,579 Último mensaje 8 Febrero 2017, 22:46 pm
por WHK
Espacios con cin
Programación C/C++
GominaTilted 1 1,522 Último mensaje 15 Octubre 2018, 00:17 am
por GominaTilted
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines