Categorías
C#.Net

Serializar elementos de lista como objetos JSON separados en C #, VB.NET

Introducción:


Aquí aprenderemos cómo serializar un objeto de lista como separado JSON matriz en C#, vb.net con ejemplo o use newtonsoft.json para serializar los elementos de la lista como seaprate JSON objeto en C#, vb.net

con ejemplo o Jsontextwriter para serializar el objeto de lista como JSON matriz en C#, vb.net

con el ejemplo. Al usar la referencia de newtonsoft Jsontextwriter en nuestras aplicaciones, podemos convertir fácilmente los elementos de la lista como elementos separados JSON Objeto basado en nuestros requisitos.


Descripción:


En artículos anteriores expliqué dividir la cadena, incluir delimitador al final en c #, vb.net, convertir objeto de lista a cadena json en c #, vb.net, serializar y deserializar newtonsoft en c #, vb.net, Ejemplo de jQuery ajax json en asp.net, convertir tabla de datos a cadena json con ejemplo, convertir cadena xml a tabla de datos en c #, vb.net, convertir cadena json a objeto json con ejemplo

y muchos más artículos relacionados con JSON, asp.net, mvc, C#, vb.net. Ahora explicaré cómo usar newtonsoft jsontextwriter para serializar los elementos de la lista como separados JSON lista en C#, vb.net

con el ejemplo.

Generalmente, en nuestras aplicaciones, jsontextwriter se utiliza para convertir los elementos de la lista a json en el formato requerido y nos ayudará a mostrar los elementos de la lista como elementos json separados según nuestros requisitos.


A continuación se muestra el fragmento de código simple para convertir elementos de lista a formato json usando jsontextwriter.


Código C #


usando Sistema;

usando

System.Collections.Generic;

usando

System.Text;

usando

Newtonsoft.Json;

usando System.IO;

espacio de nombres

temas de prueba

{

clase Programa

{

estático vacío Principal(cuerda[] argumentos)

{

Lista<Detalles de usuario> artículos = nuevo Lista<Detalles de usuario> ();

Detalles de usuario

usuario = nuevo Detalles de usuario();

elementos.Añadir (nuevo Detalles de usuario {userid = 1, username = «seguro», ubicación = «Chennai» });

elementos.Añadir (nuevo Detalles de usuario {userid = 2, username = «rohini», ubicación = «guntur» });

elementos.Añadir (nuevo Detalles de usuario {userid = 3, username = «praveen», ubicación = «bangalore» });

elementos.Añadir (nuevo Detalles de usuario {userid = 4, username = «sateesh», ubicación = «vizag» });

elementos.Añadir (nuevo Detalles de usuario {userid = 5, username = «madhav», ubicación = «nagpur» });

elementos.Añadir (nuevo Detalles de usuario {userid = 6, username = «cariño», ubicación = «nagpur» });

StringBuilder

sb = nuevo StringBuilder();

StringWriter

sw = nuevo StringWriter(sb);

usando(JsonTextWriter

jw = nuevo JsonTextWriter(sudoeste))

{

// jw.Formatting = Formatting.Indented;

para cada(var Articulo en artículos)

{

jw.WriteStartObject ();

var userinfo =
nuevo Detalles de usuario

{

userid = item.userid,

username = item.username,

location = item.location

};

var proptypes = userinfo.GetType ();

jw.WritePropertyName («ID de usuario»);

jw.WriteValue (userinfo.userid.ToString ());

jw.WritePropertyName («nombre de usuario»);

jw.WriteValue (userinfo.username.ToString ());

jw.WritePropertyName («localización»);

jw.WriteValue (userinfo.location.ToString ());

jw.WriteEndObject ();

jw.WriteRaw («norte»);

}

}

Consola.WriteLine (sb.ToString ());

Consola.ReadLine ();

}

}

clase Detalles de usuario

{

público En t userid { obtener; colocar; }

público cuerda nombre de usuario {
obtener; colocar; }

público cuerda localización {
obtener; colocar; }

}

}

Código VB.NET


Importaciones

System.Collections.Generic

Importaciones

System.Text

Importaciones

Newtonsoft.Json

Importaciones System.IO

Módulo Módulo 1

Sub Principal()

Oscuro artículos Como Nuevo Lista(De Detalles de usuario) ()

Oscuro usuario Como Nuevo Detalles de usuario()

elementos.Añadir (Nuevo Detalles de usuario() Con {

.userid = 1,

.username = «seguro»,

.location = «Chennai»

})

elementos.Añadir (Nuevo Detalles de usuario() Con {

.userid = 2,

.username = «rohini»,

.location = «guntur»

})

elementos.Añadir (Nuevo Detalles de usuario() Con {

.userid = 3,

.username = «praveen»,

.location = «bangalore»

})

elementos.Añadir (Nuevo Detalles de usuario() Con {

.userid = 4,

.username = «sateesh»,

.location = «vizag»

})

elementos.Añadir (Nuevo Detalles de usuario() Con {

.userid = 5,

.username = «madhav»,

.location = «nagpur»

})

elementos.Añadir (Nuevo Detalles de usuario() Con {

.userid = 6,

.username = «cariño»,

.location = «nagpur»

})

Oscuro sb Como Nuevo StringBuilder()

Oscuro sudoeste Como Nuevo StringWriter(sb)

Usando jw Como Nuevo JsonTextWriter(sudoeste)

‘jw.Formatting = Formateo.Indentado

Para Cada Articulo En artículos

jw.WriteStartObject ()

Oscuro userinfo =
Nuevo Detalles de usuario() Con {

.userid = item.userid,

.username = item.username,

.location = item.location

}

Oscuro proptypes = userinfo.[GetType]()

jw.WritePropertyName («ID de usuario»)

jw.WriteValue (userinfo.userid.ToString ())

jw.WritePropertyName («nombre de usuario»)

jw.WriteValue (userinfo.username.ToString ())

jw.WritePropertyName («localización»)

jw.WriteValue (userinfo.location.ToString ())

jw.WriteEndObject ()

jw.WriteRaw (vbLf)

Próximo

Fin Usando

Consola.WriteLine (sb.ToString ())

Consola.ReadLine ()

Fin Sub

Clase Detalles de usuario

Público Propiedad ID de usuario () Como Entero

Obtener

Regreso m_userid

Fin Obtener

Colocar

m_userid = Valor

Fin Colocar

Fin Propiedad

Privado m_userid Como Entero

Público Propiedad nombre de usuario()
Como Cuerda

Obtener

Regreso m_username

Fin Obtener

Colocar

m_username = Valor

Fin Colocar

Fin Propiedad

Privado m_username
Como Cuerda

Público Propiedad localización()
Como Cuerda

Obtener

Regreso m_location

Fin Obtener

Colocar

m_location = Valor

Fin Colocar

Fin Propiedad

Privado m_location
Como Cuerda

Fin Clase

Fin Módulo

Si observa el código anterior, agregamos un espacio de nombres «Newtonsoft.JSON«Esto lo podemos obtener agregando una referencia usando Administrar paquetes Nuget. Para agregar una referencia, haga clic derecho en Referencias en su aplicación a

Seleccione Administrar paquetes Nuget a

Ir Navegar Pestaña a

Buscar Newtonsoft a

De la lista seleccione Newtonsoft.Json
e instalarlo. Una vez que instalemos el componente que se mostrará como se muestra a continuación.



















Manifestación


Cuando ejecutamos el código anterior, obtendremos un resultado como el que se muestra a continuación


Así es como podemos usar jsontextwriter para reescribir json en el formato requerido.

.

Categorías
C#.Net

Obtenga propiedades y valores de objetos de lista usando Reflection en C #, VB.NET

Introducción:


Aquí aprenderemos cómo usar la reflexión para obtener propiedades y valores de objetos de lista en c #, vb.net con ejemplo u obtener todas las propiedades y valores de un objeto en c #, vb.net con ejemplo u obtener la lista de propiedades de la lista de objetos usando reflexión en c #, vb.net o cómo obtener nombres y valores de propiedad usando la reflexión en c #, vb.net con ejemplo. Mediante el uso Reflexión
properties, podemos obtener fácilmente nombres y valores de propiedades de objetos de lista según nuestros requisitos.


Descripción:


En artículos anteriores expliqué enviar lista genérica como parámetro para funcionar en c #, convertir objeto de lista a cadena json en c #, vb.net, enlazar lista genérica al ejemplo de gridview en asp.net, jQuery enlazar datos a asp.net ejemplo de gridview, diccionario objeto en c #, vb.net con ejemplo, constructor estático en c #, vb.net con ejemplo, diferencia entre ref y out en c #, vb.net con ejemplo y muchos más artículos relacionados con la lista genérica, asp.net, mvc, c # , vb.net. Ahora explicaré cómo obtener todos los nombres y valores de propiedad de un objeto en c #, vb.net con example.





Al usar las propiedades de Reflection (PropertiesInfo), podemos obtener fácilmente los nombres y valores de las propiedades de los objetos de lista según nuestros requisitos.

A continuación se muestra el fragmento de código simple para obtener todos los nombres de propiedad y valores de un objeto en c #, vb.net.


Código C #


Escribe tipo = usuario.GetType ();

PropertyInfo[]

props = type.GetProperties ();

cuerda str = «{«;

para cada (var apuntalar en accesorios)

{

str + = (prop.Name +«:»+ prop.GetValue (usuario)) +«,»;

}

regreso str.Remove (str.Length-1) +«}»;

Código VB.NET


Oscuro escribe Como Escribe = usuario.[GetType]()

Oscuro accesorios() Como PropertyInfo = tipo.GetProperties ()

Oscuro str Como Cuerda = «{«

Para Cada apuntalar En accesorios

str + = (prop.Name + «:» + CStr(prop.GetValue (usuario))) + «,»

Próximo

Regreso str.Remove (str.Length – 1) + «}»

Si desea un ejemplo completo para obtener todas las propiedades y valores de un objeto, escriba el código como se muestra a continuación.


Código C #


usando Sistema;

usando

System.Collections.Generic;

usando

System.Reflection;

espacio de nombres

SampleConsoleApp

{

clase Programa

{

estático vacío Principal(cuerda[] argumentos)

{

Lista<Detalles de usuario> artículos = nuevo Lista<Detalles de usuario> ();

elementos.Añadir (nuevo Detalles de usuario {userid = 1, username = «seguro», ubicación = «Chennai» });

elementos.Añadir (nuevo Detalles de usuario {userid = 2, username = «rohini», ubicación = «guntur» });

elementos.Añadir (nuevo Detalles de usuario {userid = 3, username = «praveen», ubicación = «bangalore» });

elementos.Añadir (nuevo Detalles de usuario {userid = 4, username = «sateesh», ubicación = «vizag» });

elementos.Añadir (nuevo Detalles de usuario {userid = 5, username = «madhav», ubicación = «nagpur» });

elementos.Añadir (nuevo Detalles de usuario {userid = 6, username = «cariño», ubicación = «nagpur» });

cuerda strmsg = cuerda.Vacío;

para cada (var usuario en artículos)

{

strmsg = GetPropertyValues ​​(usuario);

Consola.WriteLine (strmsg);

}

Consola.ReadLine ();

}

privado estático cuerda

GetPropertyValues ​​(Detalles de usuario usuario)

{

Escribe tipo = usuario.GetType ();

PropertyInfo[]

props = type.GetProperties ();

cuerda str = «{«;

para cada (var apuntalar en accesorios)

{

str + = (prop.Name +«:»+ prop.GetValue (usuario)) +«,»;

}

regreso str.Remove (str.Length-1) +«}»;

}

}

clase Detalles de usuario

{

público En t userid { obtener; colocar; }

público cuerda nombre de usuario {
obtener; colocar; }

público cuerda localización {
obtener; colocar; }

}

}

Código VB.NET


Importaciones

Sistema.Reflexión

Módulo Módulo 1

Sub Principal()

Oscuro artículos Como Nuevo Lista(De Detalles de usuario) ()

Oscuro usuario Como Nuevo Detalles de usuario()

elementos.Añadir (Nuevo Detalles de usuario() Con {

.userid = 1,

.username = «seguro»,

.location = «Chennai»

})

elementos.Añadir (Nuevo Detalles de usuario() Con {

.userid = 2,

.username = «rohini»,

.location = «guntur»

})

elementos.Añadir (Nuevo Detalles de usuario() Con {

.userid = 3,

.username = «praveen»,

.location = «bangalore»

})

elementos.Añadir (Nuevo Detalles de usuario() Con {

.userid = 4,

.username = «sateesh»,

.location = «vizag»

})

elementos.Añadir (Nuevo Detalles de usuario() Con {

.userid = 5,

.username = «madhav»,

.location = «nagpur»

})

elementos.Añadir (Nuevo Detalles de usuario() Con {

.userid = 6,

.username = «cariño»,

.location = «nagpur»

})

Oscuro strmsg Como Cuerda = Cuerda.Vacío

Para Cada usuario En artículos

strmsg = GetPropertyValues ​​(usuario)

Consola.WriteLine (strmsg)

Próximo

Consola.ReadLine ()

Fin Sub

Privado Función

GetPropertyValues ​​(usuario Como Detalles de usuario) Como Cuerda

Oscuro escribe Como Escribe = usuario.[GetType]()

Oscuro accesorios() Como PropertyInfo = tipo.GetProperties ()

Oscuro str Como Cuerda = «{«

Para Cada apuntalar En accesorios

str + = (prop.Name + «:» + CStr(prop.GetValue (usuario))) + «,»

Próximo

Regreso

str.Remove (str.Length – 1) + «}»

Fin Función

Clase Detalles de usuario

Público Propiedad ID de usuario () Como Entero

Obtener

Regreso m_userid

Fin Obtener

Colocar

m_userid = Valor

Fin Colocar

Fin Propiedad

Privado m_userid Como Entero

Público Propiedad nombre de usuario()
Como Cuerda

Obtener

Regreso m_username

Fin Obtener

Colocar

m_username = Valor

Fin Colocar

Fin Propiedad

Privado m_username
Como Cuerda

Público Propiedad localización()
Como Cuerda

Obtener

Regreso m_location

Fin Obtener

Colocar

m_location = Valor

Fin Colocar

Fin Propiedad

Privado m_location
Como Cuerda

Fin Clase

Fin Módulo

Si observa el código anterior, agregamos un espacio de nombres «Sistema.Reflexión«Para obtener propiedades y valores de un objeto usando PropertyInfo
propiedad.


Manifestación


Cuando ejecutamos el código anterior, obtendremos un resultado como el que se muestra a continuación


Así es como podemos acceder a todos los nombres y valores de propiedad de un objeto según nuestros requisitos.


.