Convertir una Cadena JSON a un Objeto JSON c#

Tengo esta Cadena almacenada en la base de datos:

str = "{ "context_name": { "lower_bound": "value", "upper_bound": "value", "values": [ "value1", "valueN" ] } }"

Esta cadena ya está en el formato JSON pero quiero convertirlo en un JObject o un Objeto JSON.

JObject json = new JObject();

He probado el json = (JObject)str; cast pero no funcionó así que ¿cómo puedo hacerlo?

InformationsquelleAutor caj | 2014-04-04

7 Kommentare

  1. 261

    JObject define el método de Parse para esto:

    JObject json = JObject.Parse(str);

    Puede referirse a Json.NET documentación.

    • Esto convertirá a {string}, añadir extra de llaves para su cadena.
  2. 48

    si usted no quiere o no necesita un tipo de objeto de tratar:

    using Newtonsoft.Json;
    //...   
    dynamic json  = JsonConvert.DeserializeObject(str);

    o trate de un tipo de objeto de tratar:

    Foo json  = JsonConvert.DeserializeObject<Foo>(str)
    • Esto también va a trabajar con una lista de T si el entrante cadena json que contiene una colección: la Lista de<Foo> json = JsonConvert.DeserializeObject<Lista<Foo>>(str)
  3. 22

    Esto funciona

        string str = "{ 'context_name': { 'lower_bound': 'value', 'pper_bound': 'value', 'values': [ 'value1', 'valueN' ] } }";
        JavaScriptSerializer j = new JavaScriptSerializer();
        object a = j.Deserialize(str, typeof(object));
    • espacio de nombres para ‘JavaScriptSerializer’: System.Web.Secuencia de comandos.La serialización;
    • Definitivamente funcionó para mí. El uso de JObject después reemplazado comillas dobles para una sola cita, hizo el truco. Gracias!!!
  4. 7

    hay una forma interesante de conseguir otro objetivo que es el de tener un fuerte tipo de la clase base en json con una muy potentes herramientas que he utilizado hace unos días por primera vez a traducir tradedoubler resultado en json en clases

    Es una herramienta simple: copiar su json origen de la pasta y en pocos segundos usted tendrá una inflexible clase json orientado .
    De esta manera usted va a usar estas clases, que es más potente y sencilla de utilizar.

    Espero que puedan ayudar a

    • Justo lo que necesitaba! así que no tiene que definir una compleja estructura de clases de algo creado en javascript
    • mientras esto no responder a la pregunta. este es un enorme ahorro de tiempo con la herramienta.
  5. 1

    Esto funciona para mí el uso de JsonConvert

    var result = JsonConvert.DeserializeObject<Class>(responseString);
  6. -1

    Esto no funciona en el caso de la JObject esto funciona por el simple formato json de datos. He intentado con todas mis datos en el siguiente formato json de datos para deserializar en el tipo, pero no obtener la respuesta.

    Para este Json

    {
      "Customer": {
        "id": "Shell",
        "Installations": [
          {
            "id": "Shell.Bangalore",
            "Stations": [
              {
                "id": "Shell.Bangalore.BTM",
                "Pumps": [
                  {
                    "id": "Shell.Bangalore.BTM.pump1"
                  },
                  {
                    "id": "Shell.Bangalore.BTM.pump2"
                  },
                  {
                    "id": "Shell.Bangalore.BTM.pump3"
                  }
                ]
              },
              {
                "id": "Shell.Bangalore.Madiwala",
                "Pumps": [
                  {
                    "id": "Shell.Bangalore.Madiwala.pump4"
                  },
                  {
                    "id": "Shell.Bangalore.Madiwala.pump5"
                  }
                ]
              }
            ]
          }
        ]
      }
    }

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea