C sharp - ¿Cómo pasar de Newtonjson a josn de Microsoft?

 
Vista:
sin imagen de perfil
Val: 168
Bronce
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

¿Cómo pasar de Newtonjson a josn de Microsoft?

Publicado por Meta (122 intervenciones) el 19/02/2023 18:03:49
Uso el .NET 7.0 y tiene su propia librería. Mi idea es no usar librerías externas como Newtonjson, si no el que incluye el propio .NET.

La librería oficial de Visual Studio viene aquí.

Dejo el código aquí abajo hecho con Newtonjson.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
using Newtonsoft.Json;
 
 
namespace Guardar_y_cargar_datos_en_archivo.json_.NET_7._0
 
{
 
    public partial class Form1 : Form
 
    {
 
        public Form1()
 
        {
            InitializeComponent();
        }
 
 
        class MiInfo
        {
            public string? TextBox { get; set; }
            public bool CheckBox { get; set; }
            public bool RadioButton1_Luz_ON { get; set; }
            public bool RadioButton2_Luz_OFF { get; set; }
 
        }
 
 
 
        void SalvarDatos()
        {
 
            MiInfo miInfo = new()
            {
                TextBox = textBox1.Text,
               CheckBox = checkBox1.Checked,
             RadioButton1_Luz_ON = radioButton1.Checked,
                RadioButton2_Luz_OFF = radioButton2.Checked
            };
 
            try
            {
                string serializado = JsonConvert.SerializeObject(miInfo);
                File.WriteAllText(@"Ejemplo.json", serializado);
            }
            catch {}
        }
 
        void RecuperarDatos()
        {
            if (File.Exists(@"Ejemplo.json"))
            {
                string serializado = File.ReadAllText(@"Ejemplo.json");
 
                //MiInfo miInfo = (MiInfo)JsonConvert.DeserializeObject(serializado);
 
                MiInfo miInfo = JsonConvert.DeserializeObject<MiInfo>(serializado);
 
                if (miInfo != null)
 
                {
 
                    textBox1.Text = miInfo.TextBox;
                    checkBox1.Checked = miInfo.CheckBox;
                   radioButton1.Checked = miInfo.RadioButton1_Luz_ON;
                   radioButton2.Checked = miInfo.RadioButton2_Luz_OFF;
                }
            }
        }
 
        private void button_Guardar_Click(object sender, EventArgs e)
        {
            SalvarDatos();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            RecuperarDatos();
        }
    }
}

Ahora toca hacer lo que se tenga que hacer con la librería que incluye el .net.

¿Alguna idea?

Lo pregunto porque veo que no es para nada compatible entre Newtonjson con el json .net de Microsoft.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 168
Bronce
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

¿Cómo pasar de Newtonjson a josn de Microsoft?

Publicado por Meta (122 intervenciones) el 13/03/2023 23:10:52
Muchas gracias, me funciona.

Intenté a que se guarde el archivo con sus espacios pero me sale los datos del json lineal.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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_ON { get; set; }
            public bool RadioButton2_Luz_OFF { get; set; }
        }
 
        void SalvarDatos()
        {
            MiInfo miInfo = new()
            {
                TextBox = textBox1.Text,
                CheckBox = checkBox1.Checked,
                RadioButton1_Luz_ON = radioButton1.Checked,
                RadioButton2_Luz_OFF = radioButton2.Checked
            };
 
            try
            {
                string serializado = JsonSerializer.Serialize(miInfo);
                File.WriteAllText(@"Ejemplo.json", serializado);
 
                // Guardar con espacios el archivo .json.
                var opciones = new JsonSerializerOptions { WriteIndented = true };
                string jsonString = JsonSerializer.Serialize(miInfo, opciones);
 
            }
            catch { }
        }
 
        void RecuperarDatos()
        {
            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_ON;
                    radioButton2.Checked = miInfo.RadioButton2_Luz_OFF;
                }
            }
        }
 
        private void button_Guardar_Click(object sender, EventArgs e)
        {
            SalvarDatos();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            RecuperarDatos();
        }
    }
}

¿Alguna idea?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 168
Bronce
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

¿Cómo pasar de Newtonjson a josn de Microsoft?

Publicado por Meta (122 intervenciones) el 14/03/2023 20:23:45
Me ha ayudado, muchas gracias mi muy distinguido amigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar