Título: Modificar estados de espacios
Publicado por: Meta en 5 Marzo 2023, 02:53 am
Hola: Teniendo este código para guardar archivo.json. using System.Text.Json; namespace SerializeBasic { public class PronosticoDelTiempo { public DateTimeOffset Fecha { get; set; } public int TemperaturaCelsius { get; set; } public string? Resumen { get; set; } } public class Program { public static void Main() { var pronosticoDelTiempo = new PronosticoDelTiempo { Fecha = DateTime.Parse("2019-08-01"), TemperaturaCelsius = 25, Resumen = "Caliente." }; string nombreDelArchivo = "PronósticoDelTiempo.json"; string jsonString = JsonSerializer.Serialize(pronosticoDelTiempo); File.WriteAllText(nombreDelArchivo, jsonString); // Crear archivo. Console.WriteLine(File.ReadAllText(nombreDelArchivo)); // Pulse cualquier tecla para salir. Console.ReadKey(); } } }
Crea un archivo y dentro de ella pone. {"Fecha":"2019-08-01T00:00:00+01:00","TemperaturaCelsius":25,"Resumen":"Caliente."}
La idea es hacerlo así: { "Fecha":"2019-08-01T00:00:00+01:00", "TemperaturaCelsius":25, "Resumen":"Caliente." }
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.
Título: Re: Modificar estados de espacios
Publicado por: Elektro Enjuto 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: JsonSerializerOptions options = new JsonSerializerOptions ();options.WriteIndented = true;
JsonSerializer.Serialize(..., options);
Título: Re: Modificar estados de espacios
Publicado por: Meta en 2 Septiembre 2023, 16:00 pm
Pues si. Ya me salió, gracias. using System.Text.Json; namespace Guardar_y_cargar_datos_en_archivo.json_.NET_7._0___02 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } class MiInfo { public string? TextBox { get; set; } public bool CheckBox { get; set; } public bool RadioButton1_Luz { get; set; } public bool RadioButton2_Luz { get; set; } } void GuardarDatos() { { TextBox = textBox1.Text, RadioButton1_Luz = radioButton1 .Checked, RadioButton2_Luz = radioButton2 .Checked }; // Guardar con espacios en blanco el archivo .json. var opciones = new JsonSerializerOptions { WriteIndented = true }; string serializado = JsonSerializer.Serialize(miInfo, opciones); // Crear archivo Ejemplo.json. File.WriteAllText(@"Ejemplo.json", serializado); } void CargarDatos() { if (File.Exists(@"Ejemplo.json")) { string serializado = File.ReadAllText(@"Ejemplo.json"); MiInfo? miInfo = JsonSerializer.Deserialize<MiInfo>(serializado); if (miInfo != null) { textBox1.Text = miInfo.TextBox; checkBox1 .Checked = miInfo .CheckBox; radioButton1 .Checked = miInfo .RadioButton1_Luz; radioButton2 .Checked = miInfo .RadioButton2_Luz; } } } private void button_Guardar_Click(object sender, EventArgs e) { GuardarDatos(); } private void Form1_Load(object sender, EventArgs e) { CargarDatos(); } } }
Resultado. { "TextBox": "Hola loca", "CheckBox": true, "RadioButton1_Luz": true, "RadioButton2_Luz": false }
|