2016-03-23 10 views
0

Grundsätzlich möchte ich JsonSchema von Json String zur Laufzeit extrahieren (kann Tools nicht verwenden), keine Bibliothek gefunden, dies zu tun. Andere Möglichkeit besteht darin, zuerst JSON in Klasse zu konvertieren (einen Open Source Code zu finden) und dann JsonSchema mit JSON.NET wie unten beschrieben zu erstellen.Edit Source Code und benutze es zur Laufzeit in C#

var generator = new JSchemaGenerator(); 
JSchema schema = generator.Generate(typeof(Rootobject)); 

Aber Rootobject-Klasse ist nicht zur Kompilierzeit bekannt, so bekomme ich Kompilierzeit Fehler. Gibt es einen anderen Weg, dies zu tun? Bitte helfe

+0

Haben Sie versucht, mit dynamischen Objekt, Referenz: http: //stackoverflow.com/questions/3142495/deserialize-json-into-c-sharp-dynamic-object PS: Wenn ich Ihre Frage falsch verstanden mir bitte – Vikas

Antwort

0

Der beste Weg, den ich mir vorstellen kann, ist, Ihren Code zu verwenden, um den Quellcode einer Klasse zu generieren, den CodeDOM zu kompilieren, die generierte Assembly zu laden und dann das Schema für dieses Objekt zu generieren.

Informationen zur Verwendung der CodeDOM zum Erstellen einer Assembly zur Laufzeit finden Sie auf MSDN hier: Generating and Compiling Source Code from a CodeDOM graph (es ist die zweite Überschrift, die Sie interessieren würde).

Informationen darüber, wie die Assembly zu laden, können auf MSDN hier: How to: Load Assemblies into an Application Domain

Hoffnung, dass beim Lösen des Problems hilft.

+0

ich richtig Ich werde mich darum kümmern und hoffentlich bald den Arbeitscode veröffentlichen;) –

Verwandte Themen