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.

Obtener el elemento JSON como cadena.

Quiero que el elemento del array JSON se convierta en una cadena de texto.

El JSON se ve así:

[
   {
      "id":373313181,
      "from":"no-reply@email.com",
      "subject":"ejemplo de asunto 123",
      "date":"2022-01-06 13:22:14"
   }
]

Quiero obtener el elemento ID como una cadena de texto.

Intenté hacerlo de esta manera:

var json = "[{\"id\":373313181,\"from\":\"no-reply@email.com\",\"subject\":\"ejemplo de asunto 123\",\"date\":\"2022-01-06 13:22:14\"}]";
var parse = JObject.Parse(json);
var id = parse["id"].ToString();
Console.WriteLine(id);

Pero simplemente no funcionó. ¿Algún idea de por qué?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El problema con el código actual es que el arreglo JSON contiene un objeto, por lo que para acceder al elemento ID, primero necesitamos obtener el objeto dentro del arreglo. Podemos hacer esto utilizando la clase JArray en lugar de JObject y luego accediendo al primer elemento del arreglo. Aquí está el código actualizado:

    var json = "[{\"id\":373313181,\"from\":\"no-reply@email.com\",\"subject\":\"example subject 123\",\"date\":\"2022-01-06 13:22:14\"}]";
    var parse = JArray.Parse(json);
    var id = parse[0]["id"].ToString();
    Console.WriteLine(id);
    

    Esto debería producir la siguiente salida:

    373313181
    

Comments are closed.