it-swarm.com.de

JSON-String in JSON-Objekt c # konvertieren

Ich habe diesen String in meiner Datenbank gespeichert:

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

Diese Zeichenfolge ist bereits im JSON-Format, aber ich möchte sie in ein JObject- oder JSON-Objekt konvertieren.

JObject json = new JObject();

Ich habe den json = (JObject)str; cast probiert, aber es hat nicht funktioniert. Wie kann ich das machen?

100
caj

JObject definiert hierfür die Methode Parse:

JObject json = JObject.Parse(str);

Vielleicht möchten Sie auf Json.NET documentation verweisen.

200
Andrei

wenn Sie kein typisiertes Objekt wünschen oder brauchen, versuchen Sie Folgendes:

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

oder versuchen Sie es für ein typisiertes Objekt:

Foo json  = JsonConvert.DeserializeObject<Foo>(str)
32
Kieran

Das funktioniert

    string str = "{ 'context_name': { 'lower_bound': 'value', 'pper_bound': 'value', 'values': [ 'value1', 'valueN' ] } }";
    JavaScriptSerializer j = new JavaScriptSerializer();
    object a = j.Deserialize(str, typeof(object));
18
Karthik Ganesan

es gibt eine interessante Möglichkeit, ein weiteres Ziel zu erreichen, nämlich eine starke Typ-Klasse-Basis auf Json mit sehr leistungsstarken Tools, die ich vor einigen Tagen zum ersten Mal verwendet habe, um das Tradedoubler-Json-Ergebnis in Klassen zu übersetzen

Ist ein einfaches Werkzeug: Kopieren Sie Ihre Json-Source-Paste und in wenigen Sekunden Sie haben eine stark typisierte Klasse, die auf Json ausgerichtet ist ..__ Auf diese Weise werden Sie diese Klassen verwenden, die leistungsfähiger und einfach zu verwenden sind.

Ich hoffe das kann dir helfen

7
makemoney2010

Sie können es wie folgt versuchen:

string output = JsonConvert.SerializeObject(jsonStr);
2
B.Mohamed Riyas

Dies funktioniert für mich mit JsonConvert

var result = JsonConvert.DeserializeObject<Class>(responseString);
0
HamidKhan

Im Falle des JObjects funktioniert dies nicht. Dies funktioniert für die einfachen Daten im Json-Format. Ich habe versucht, meine Daten des unten angegebenen Json-Formats im Typ zu deserialisieren, habe aber keine Antwort erhalten.

Für diesen 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"
              }
            ]
          }
        ]
      }
    ]
  }
}
0
Rahul Shukla