public static dynamic DeserializeFromFile(string filePath) { var json = ""; try { if (!File.Exists(filePath)) { return(new JObject()); } json = SharedFile.ReadAllText(filePath); if (string.IsNullOrEmpty(json)) { return(new JObject()); } var idxNull = json.IndexOf('\0'); if (idxNull != -1) { json = json.Substring(0, idxNull); } dynamic data = JObject.Parse(json); return(data); } catch (Exception ex) { Log.Warn("Json parse error: {0}\r\n{1}\r\n{2}\r\n", ex.Message, filePath, json, ex); //throw new Exception(string.Format("Json parse error: {0}\r\n{1}\r\n", ex.Message, filePath)); return(new JObject()); } }
public static T TryDeserializeFromFile <T>(string filePath) where T : class { var json = ""; try { json = SharedFile.ReadAllText(filePath); return(Deserialize <T>(json)); } catch (Exception ex) { Log.Warn("Json parse error: {0}\r\n{1}\r\n{2}\r\n", ex.Message, filePath, json, ex); return(null); } }
public static T DeserializeFromFile <T>(string filePath) { var json = ""; try { json = SharedFile.ReadAllText(filePath); return(Deserialize <T>(json)); } catch (Exception ex) { Log.Error("Json parse error: {0}\r\n{1}\r\n{2}\r\n", ex.Message, filePath, json, ex); throw; } }
/// <summary> /// Process compulation unit to output file /// </summary> public static bool Process(string inputFile, string outputFile, bool discoverTypes) { var textCode = SharedFile.ReadAllText(inputFile); if (string.IsNullOrEmpty(textCode)) { Log.Error($"empty c# input file: {inputFile}"); return(false); } var tree = CSharpSyntaxTree.ParseText(textCode); var root = (CompilationUnitSyntax)tree.GetRoot(); var info = new Pocoyo { DiscoverTypes = discoverTypes, OutputFile = outputFile, }; if (Log.VerbosMode) { info.AddLine($@"/* ========================================== {inputFile} ========================================== */ "); } info.Process(root.Members); if (Log.VerbosMode) { info.AddLine($@"/* ========================================== ========================================== */ "); } return(true); }
/// <summary> /// Pre-process compulation unit to output file /// </summary> public static bool PreProcess(string inputFile) { var textCode = SharedFile.ReadAllText(inputFile); if (string.IsNullOrEmpty(textCode)) { Log.Error($"empty c# input file: {inputFile}"); return(false); } var tree = CSharpSyntaxTree.ParseText(textCode); var root = (CompilationUnitSyntax)tree.GetRoot(); var info = new Pocoyo { PreprocessMode = true, DiscoverTypes = true, Silent = !Debugger.IsAttached, }; info.Process(root.Members); return(true); }