es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo deserializar jsonstring en Json.

Tengo una cadena de texto devuelta que se ve así:

"{\"properties\":{\"item1\":{\"dataType\":\"string\"},\"item2\":{\"dataType\":\"string\"}},\"lastModified\":\"2021-12-09T18:20:29Z\"}"

He intentado deserializar usando un diccionario, pero aún no capturo los datos. Los datos más importantes están dentro de las propiedades, item1, item2.

System.Text.Json.JsonSerializer.Deserialize<><string, object="">>(jsonString)

Y está dando el siguiente resultado:

“`plaintext
[0] [KeyValuePair]: {[properties, {"Item1":{"dataType":"string"},"item2":{"dataType":"string"}}

Key [string]: "properties"
Value [object]:ValueKind = Object : "{\"item1\":{\"dataType\":\"string\"},\"item2\":{\"dataType\":\"string\"}"

Key [string]: "lastModified"
[1] [KeyValuePair]: {[lastModified, 2021-12-09T19:00:12Z]}
“`</string,>

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para acceder a los valores de item1 y item2 en la cadena devuelta, puedes utilizar el siguiente código:

    // Primero, deserializa la cadena JSON en un Dictionary<string, object="">
    var dict = JsonSerializer.Deserialize<><string, object="">>(jsonString);
    
    // Obtén el objeto "properties" del diccionario
    var propertiesObject = dict["properties"] as Dictionary<string, object="">;
    
    // Obtén los valores de "item1" y "item2" del objeto "properties"
    var item1Value = (propertiesObject["item1"] as Dictionary<string, object="">)["dataType"].ToString();
    var item2Value = (propertiesObject["item2"] as Dictionary<string, object="">)["dataType"].ToString();
    

    Este código deserializa la cadena JSON en un Dictionary<string, object=""> utilizando JsonSerializer.Deserialize. Luego extrae el objeto properties del diccionario utilizando indexación y lo convierte en un Dictionary<string, object="">. Finalmente, recupera los valores de item1 y item2 del objeto properties mediante indexación con sus nombres y convierte los valores object resultantes en Dictionary<string, object=""> y luego accede a la propiedad dataType utilizando indexación con “dataType”.

    Los valores string resultantes de item1 y item2 se almacenan en las variables item1Value y item2Value.</string,></string,></string,></string,></string,></string,></string,></string,>

Comments are closed.