2016-04-08 18 views
0

Ich habe eine JSON (gridModel), die ein JSON-Array oder einfach Json String sein könnte. Ich möchte es zu einer Liste serialisieren, die dem Json entspricht. Verwenden von Newtonsoft.Json.Convert JSON in eine DataTable direkt

JArray jGridModel = JArray.Parse(gridModel); 
List<ClassName> colModel = jGridModel.ToObject<List<ClassName>>(); 

Dies funktioniert gut, wenn die gridModel ein JSON-Array ist, aber wenn sie ein einzelne JSON, wirft es einen Fehler. Bitte helfen.

Eine andere Frage. Anstatt es in List zu konvertieren, gibt es eine Möglichkeit, das JSONArray direkt in DataTable zu konvertieren, bitte helfen Sie. Vielen Dank.

+1

Was ist der Fehler? – CathalMF

Antwort

0

Sie müssen prüfen, ob das Objekt durch den Code erzeugt JArray jGridModel = JArray.Parse(gridModel); ist ein ein Art der Liste Siehe aktualisierten Code unten:

JArray jGridModel = JArray.Parse(gridModel); 

// declare your output variable 
List<ClassName> colmodel = new List<ClassName>(); 

// use var so it can accept any output type 
var outputObject = jGridModel.ToObject<List<ClassName>>(); 

// check the type of the output 
if (outputObject is ClassName){ 
    colmodel.Add(outputObject); 
} 
else{ 
    colmodel = outputObject; 
} 
//colmodel is your output which is always a List<ClassName> type 
+0

Danke. Ich werde es mir ansehen. –