/// <summary> /// Serializes an object to an XML string. Unlike the other SerializeObject overloads /// this methods *returns a string* rather than a bool result! /// </summary> /// <param name="value">Value to serialize</param> /// <param name="throwExceptions">Determines if a failure throws or returns null</param> /// <returns> /// null on error otherwise the Xml String. /// </returns> /// <remarks> /// If null is passed in null is also returned so you might want /// to check for null before calling this method. /// </remarks> public static string Serialize(object value, bool throwExceptions = false, bool formatJsonOutput = false) { string jsonResult = null; Type type = value.GetType(); dynamic writer = null; try { var json = new JsonSerializer(); StringWriter sw = new StringWriter(); writer = new Newtonsoft.Json.JsonTextWriter(sw); if (formatJsonOutput) { writer.Formatting = Formatting.Indented; } else { writer.Formatting = Formatting.None; } writer.QuoteChar = '"'; json.Serialize(writer, value); jsonResult = sw.ToString(); writer.Close(); } catch (Exception ex) { if (throwExceptions) { throw ex; } jsonResult = null; } finally { if (writer != null) { writer.Close(); } } return(jsonResult); }
public static void SaveToFile() { try { JsonSerializer serializer = new JsonSerializer(); var prices = dataAccess.GetAllPrices(); var sales = dataAccess.GetAllSales(); var priceChanges = dataAccess.GetPriceChanges(); string path = DataDir + "\\Prices.json"; var writer = new JsonTextWriter(File.CreateText(path)); serializer.Serialize(writer, prices); writer.Close(); path = DataDir + "\\Sales.json"; writer = new JsonTextWriter(File.CreateText(path)); serializer.Serialize(writer, sales); writer.Close(); path = DataDir + "\\priceChanges.json "; writer = new JsonTextWriter(File.CreateText(path)); serializer.Serialize(writer, priceChanges); writer.Close(); } catch (Exception iException) { int x = 10; throw; } }
public static string DataTableToJSON(DataTable dt, string dtName) { StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); using (JsonWriter jw = new JsonTextWriter(sw)) { JsonSerializer ser = new JsonSerializer(); jw.WriteStartObject(); jw.WritePropertyName(dtName); jw.WriteStartArray(); foreach (DataRow dr in dt.Rows) { jw.WriteStartObject(); foreach (DataColumn dc in dt.Columns) { jw.WritePropertyName(dc.ColumnName); ser.Serialize(jw, dr[dc].ToString()); } jw.WriteEndObject(); } jw.WriteEndArray(); jw.WriteEndObject(); sw.Close(); jw.Close(); } return sb.ToString(); }
//Serializar para obter lista de objetos private string Serialize(object value) { Type type = value.GetType(); Newtonsoft.Json.JsonSerializer json = new Newtonsoft.Json.JsonSerializer(); if (type == typeof(DataTable)) { json.Converters.Add(new DataTableConverter()); } if (type == typeof(DataSet)) { json.Converters.Add(new DataSetConverter()); } StringWriter sw = new StringWriter(); Newtonsoft.Json.JsonTextWriter write = new Newtonsoft.Json.JsonTextWriter(sw); write.Formatting = Formatting.None; write.QuoteChar = '"'; json.Serialize(write, value); string output = sw.ToString(); write.Close(); sw.Close(); return(output); }
protected void btnSend_Click(object sender, EventArgs e) { StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); JsonWriter jsonWriter = new JsonTextWriter(sw); jsonWriter.Formatting = Formatting.Indented; jsonWriter.WriteStartObject(); jsonWriter.WritePropertyName("name"); jsonWriter.WriteValue(txtName.Text); jsonWriter.WritePropertyName("description"); jsonWriter.WriteValue(txtDesc.Text); jsonWriter.WritePropertyName("priority"); jsonWriter.WriteValue((dpdPri.Text).ToUpper()); jsonWriter.WriteEndObject(); string output = sw.ToString(); jsonWriter.Close(); sw.Close(); //string[] args = new string[3]; //args[0] = txtName.Text; //args[1] = txtDesc.Text; //args[2] = txtPri.Text; //string message = string.Join(" ", args); byte[] body = System.Text.Encoding.UTF8.GetBytes(output); producer.SendMessage(body); }
static void Main(string[] args) { // Set connection parameters var parameters = new RfcConfigParameters(); parameters[RfcConfigParameters.Client] = "050"; parameters[RfcConfigParameters.Language] = "DE"; parameters[RfcConfigParameters.User] = "SCHUENGE"; parameters[RfcConfigParameters.Password] = ""; parameters[RfcConfigParameters.MessageServerHost] = "sawitk80.ceu.heidelberg.com"; parameters[RfcConfigParameters.MessageServerService] = "3641"; parameters[RfcConfigParameters.Name] = "K80"; parameters[RfcConfigParameters.SystemID] = "K80"; parameters[RfcConfigParameters.LogonGroup] = "K80001"; // Get destination (i.e. connection to SAP ERP system) var destination = RfcDestinationManager.GetDestination(parameters); JsonWriter writer = new JsonTextWriter(new StreamWriter("test.json")); writer.Formatting = Formatting.Indented; writer.WriteStartObject(); var customerNumber = "0080300010"; ReadCustomerContacts(customerNumber, destination, writer); ReadCustomerEquipments(customerNumber, destination, writer); writer.WriteEndObject(); writer.Close(); }
public static string ToJson(object value) { Newtonsoft.Json.JsonSerializer json = new Newtonsoft.Json.JsonSerializer() { ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore, ObjectCreationHandling = Newtonsoft.Json.ObjectCreationHandling.Auto, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore }; StringWriter sw = new StringWriter(); Newtonsoft.Json.JsonTextWriter writer = new JsonTextWriter(sw); writer.Formatting = Formatting.None; //writer.QuoteChar = '"'; json.Serialize(writer, value); string output = sw.ToString(); writer.Close(); sw.Close(); return output; //JavaScriptSerializer jss = new JavaScriptSerializer(); //return jss.Serialize(value); }
public override void ExecuteResult(ControllerContext context) { JsonSerializer json = new JsonSerializer(); json.NullValueHandling = NullValueHandling.Ignore; json.ObjectCreationHandling = ObjectCreationHandling.Replace; json.MissingMemberHandling = MissingMemberHandling.Ignore; json.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; String output = String.Empty; StringWriter sw = new StringWriter(); JsonTextWriter writer = new JsonTextWriter(sw); writer.Formatting = Formatting.Indented; writer.QuoteChar = '"'; json.Serialize(writer, this.Data); output = sw.ToString(); writer.Close(); sw.Close(); context.HttpContext.Response.ContentType = "application/json"; context.HttpContext.Response.Write(output); }
public string Serialize(object @object ) { var serializer = new JsonSerializer(); var stringWriter = new StringWriter(); var writer = new JsonTextWriter(stringWriter) {QuoteName = false, Formatting = Formatting.None}; serializer.Serialize(writer, @object); writer.Close(); return stringWriter.ToString(); }
private static string NewtonsoftEncode(string input) { var sb = new StringBuilder(); var sw = new StringWriter(sb); JsonWriter writer = new JsonTextWriter(sw); writer.WriteValue(input); writer.Close(); return sb.ToString(); }
public static string ToEmitString(this object data) { var serializer = new JsonSerializer(); var stringWriter = new StringWriter(); var writer = new JsonTextWriter(stringWriter) { QuoteName = false }; serializer.Serialize(writer, data); writer.Close(); return stringWriter.ToString(); }
public static void File(string fileName, eventVar _eventVar) { try { //Import config variables Config.softwareConfig cfg = new Config.softwareConfig(); if (System.IO.File.Exists(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted")) { System.IO.File.Delete(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted"); using (FileStream fs = System.IO.File.Open(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted", FileMode.CreateNew)) using (StreamWriter sw = new StreamWriter(fs)) using (JsonWriter jw = new JsonTextWriter(sw)) { jw.Formatting = Formatting.Indented; JsonSerializer serializer = new JsonSerializer(); serializer.Serialize(jw, _eventVar); jw.Close(); sw.Close(); fs.Close(); } string json = System.IO.File.ReadAllText(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted"); string encryptJson = CryptoService.Load.Encrypt(json, cfg.cipherKey); System.IO.File.WriteAllText(MainWindow.workingDir + "\\Config\\" + fileName, encryptJson); System.IO.File.Delete(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted"); } else { using (FileStream fs = System.IO.File.Open(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted", FileMode.CreateNew)) using (StreamWriter sw = new StreamWriter(fs)) using (JsonWriter jw = new JsonTextWriter(sw)) { jw.Formatting = Formatting.Indented; JsonSerializer serializer = new JsonSerializer(); serializer.Serialize(jw, _eventVar); jw.Close(); sw.Close(); fs.Close(); string json = System.IO.File.ReadAllText(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted"); string encryptJson = CryptoService.Load.Encrypt(json, cfg.cipherKey); System.IO.File.WriteAllText(MainWindow.workingDir + "\\Config\\" + fileName, encryptJson); System.IO.File.Delete(MainWindow.workingDir + "\\Config\\" + fileName + "decrypted"); } } } catch(Exception ex) { MessageBox.Show(ex.ToString()); } }
static void Main(string[] args) { String connectionString = //"user id=mes;" + //"password=mes;" + "Trusted_Connection=True;" + "server=marcus-pc\\SQLEXPRESS;" + "database=isdata; " + "connection timeout=5"; Console.WriteLine("start exporting"); try { using (FileStream fs = new FileStream("\\\\VBOXSVR\\Shared\\export.json", FileMode.Create, FileAccess.Write)) { StreamWriter sw = new StreamWriter(fs); JsonWriter writer = new JsonTextWriter(sw); writer.Formatting = Formatting.Indented; writer.WriteStartObject(); writer.WritePropertyName("customers"); BaseExporter export = new ExportCustomer(connectionString, writer); export.Export(); writer.WritePropertyName("parts"); export = new ExportParts(connectionString, writer); export.Export(); writer.WritePropertyName("offerings"); export = new ExportOfferings(connectionString, writer); export.Export(); writer.WritePropertyName("orders"); export = new ExportOrders(connectionString, writer); export.Export(); writer.WritePropertyName("deliveries"); export = new ExportDeliveries(connectionString, writer); export.Export(); writer.WritePropertyName("invoices"); export = new ExportInvoices(connectionString, writer); export.Export(); writer.WriteEndObject(); writer.Close(); sw.Close(); } } catch (Exception e) { Console.WriteLine("ohh shit: " + e.ToString()); } }
/// <summary> /// Serialize current problem document as JSON representation /// </summary> /// <param name="stream"></param> public void Save(System.IO.MemoryStream stream) { var sb = new StringBuilder(); var sw = new StringWriter(sb); var jsonWriter = new JsonTextWriter(sw) {Formatting = Formatting.Indented}; WriteProblem(jsonWriter); var stw = new StreamWriter(stream); stw.Write(sb.ToString()); stw.Flush(); jsonWriter.Close(); }
private void SerializeStream(Stream stream, object value) { JsonSerializer jsonSerializer = JsonSerializer.Create(_jsonSerializerSettings); using (var streamWriter = new StreamWriter(stream, Encoding.UTF8)) { using (var jsonTextWriter = new JsonTextWriter(streamWriter)) { jsonSerializer.Serialize(jsonTextWriter, value); jsonTextWriter.Flush(); jsonTextWriter.Close(); } } }
public static void Save(string path) { if (instance == null) { instance = new BotConfig(); } JsonTextWriter writer = new JsonTextWriter(new StreamWriter(path)); JsonSerializer serializer = new JsonSerializer(); serializer.Formatting = Formatting.Indented; serializer.Serialize(writer, instance); writer.Close(); }
public void CloseOutput() { MemoryStream ms = new MemoryStream(); JsonTextWriter writer = new JsonTextWriter(new StreamWriter(ms)); Assert.IsTrue(ms.CanRead); writer.Close(); Assert.IsFalse(ms.CanRead); ms = new MemoryStream(); writer = new JsonTextWriter(new StreamWriter(ms)) { CloseOutput = false }; Assert.IsTrue(ms.CanRead); writer.Close(); Assert.IsTrue(ms.CanRead); }
/// <summary> /// 执行与释放或重置非托管资源相关的应用程序定义的任务。 /// </summary> protected virtual void Dispose(bool disposing) { try { Flush(); } catch { // never fail } finally { #if NET || NETSTANDARD_2_0_UP _textWriter.Close(); #endif } }
public void JsonNativeInstantiation() { // Try to create instance var ser = new JsonSerializer(); //ser.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore; //ser.ObjectCreationHandling = ObjectCreationHandling.Auto; //ser.MissingMemberHandling = MissingMemberHandling.Ignore; ser.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; ser.Converters.Add(new StringEnumConverter()); var config = new AutoConfigFileConfiguration(); config.ApplicationName = "New App"; config.DebugMode = DebugModes.DeveloperErrorMessage; var writer = new StringWriter(); var jtw = new JsonTextWriter(writer); jtw.Formatting = Formatting.Indented; ser.Serialize(jtw, config); string result = writer.ToString(); jtw.Close(); Console.WriteLine(result); dynamic json = ReflectionUtils.CreateInstanceFromString("Newtonsoft.Json.JsonSerializer"); dynamic enumConverter = ReflectionUtils.CreateInstanceFromString("Newtonsoft.Json.Converters.StringEnumConverter"); json.Converters.Add(enumConverter); writer = new StringWriter(); jtw = new JsonTextWriter(writer); jtw.Formatting = Formatting.Indented; json.Serialize(jtw, config); result = writer.ToString(); jtw.Close(); Console.WriteLine(result); }
public virtual byte[] Serialize() { StringBuilder buffer = new StringBuilder(); using (StringWriter writer = new StringWriter(buffer)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(writer)) { JsonSerializer ser = new JsonSerializer(); ser.Serialize(jsonWriter, this); jsonWriter.Flush(); jsonWriter.Close(); } writer.Close(); } LOG.DebugFormat("Serialized event {0}: {1}", this, buffer.ToString()); return new UTF8Encoding().GetBytes(buffer.ToString()); }
private async Task SaveInternalAsync() { foreach (var o in stored) { if(mode == DatabaseMode.Dangerous) throw new DirectoryNotFoundException(); using(var stream = new MemoryStream()) using (var writer = new JsonTextWriter(new StreamWriter(stream))) { var serializer = JsonSerializer.Create(); serializer.Serialize(writer, o); writer.Flush(); stream.Position = 0; await store.AppendAsync(stream); writer.Close(); } } stored.Clear(); }
private async Task TransformToSDataPayload(Stream targetStream) { using (var oContentStream = await originalContent.ReadAsStreamAsync()) { JsonReader reader = null; JsonWriter outStream = null; int level = -1; try { reader = new JsonTextReader(new StreamReader(oContentStream)); outStream = new JsonTextWriter(new StreamWriter(targetStream)); int respContentType = GetContentType(); bool searchForCollection = respContentType == ContentOdataCollection || respContentType == ContentApiCollection; while (reader.Read()) { if (searchForCollection && level == 0 && reader.TokenType == JsonToken.PropertyName) { if ((string)reader.Value == ParamCollectionNameApi || (string)reader.Value == ParamCollectionNameOdata) { WritePagingProperties(outStream); outStream.WritePropertyName(ParamCollectionNameSdata); } else if ((string)reader.Value == ParamTotalresultOdata) outStream.WritePropertyName(ParamTotalresultSdata); else outStream.WriteToken(reader, false); } else if (reader.TokenType == JsonToken.PropertyName) outStream.WritePropertyName(CallOptionalMaps((string)reader.Value)); else { if (reader.TokenType == JsonToken.StartObject) level++; else if (reader.TokenType == JsonToken.EndObject) level--; outStream.WriteToken(reader, false); } } outStream.Flush(); } catch (Exception e) { // TODO can we get the user and tenant context from here? } finally { if (reader != null) reader.Close(); if (outStream != null) outStream.Close(); } } }
public void NativePerfTest() { // Try to create instance var ser = new JsonSerializer(); ser.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; ser.Converters.Add(new StringEnumConverter()); var config = new AutoConfigFileConfiguration(); config.ApplicationName = "New App"; config.DebugMode = DebugModes.DeveloperErrorMessage; string result = null; var sw = new Stopwatch(); sw.Start(); for (int i = 0; i < 10000; i++) { var writer = new StringWriter(); var jtw = new JsonTextWriter(writer); jtw.Formatting = Formatting.Indented; ser.Serialize(jtw, config); result = writer.ToString(); jtw.Close(); } sw.Stop(); Console.WriteLine("Native Serialize: " + sw.ElapsedMilliseconds + "ms"); Console.WriteLine(result); }
public void CloseWithRemainingContent() { StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); using (JsonWriter jsonWriter = new JsonTextWriter(sw)) { jsonWriter.Formatting = Formatting.Indented; jsonWriter.WriteStartObject(); jsonWriter.WritePropertyName("CPU"); jsonWriter.WriteValue("Intel"); jsonWriter.WritePropertyName("PSU"); jsonWriter.WriteValue("500W"); jsonWriter.WritePropertyName("Drives"); jsonWriter.WriteStartArray(); jsonWriter.WriteValue("DVD read/writer"); jsonWriter.WriteComment("(broken)"); jsonWriter.WriteValue("500 gigabyte hard drive"); jsonWriter.WriteValue("200 gigabype hard drive"); jsonWriter.Close(); } string expected = @"{ ""CPU"": ""Intel"", ""PSU"": ""500W"", ""Drives"": [ ""DVD read/writer"" /*(broken)*/, ""500 gigabyte hard drive"", ""200 gigabype hard drive"" ] }"; string result = sb.ToString(); Assert.AreEqual(expected, result); }
public void QuoteDictionaryNames() { var d = new Dictionary<string, int> { { "a", 1 }, }; var jsonSerializerSettings = new JsonSerializerSettings { Formatting = Formatting.Indented, }; var serializer = JsonSerializer.Create(jsonSerializerSettings); using (var stringWriter = new StringWriter()) { using (var writer = new JsonTextWriter(stringWriter) { QuoteName = false }) { serializer.Serialize(writer, d); writer.Close(); } StringAssert.AreEqual(@"{ a: 1 }", stringWriter.ToString()); } }
private static string jsonWriterToString(Action<JsonWriter> serializer) { StringBuilder resultBuilder = new StringBuilder(); StringWriter sw = new StringWriter(resultBuilder); JsonWriter jw = new JsonTextWriter(sw); serializer(jw); jw.Flush(); jw.Close(); return resultBuilder.ToString(); }
void TrStmtList(List<Statement/*!*/>/*!*/ stmts) { Contract.Requires(cce.NonNullElements(stmts)); List<LocalVariable> AllDecls = new List<LocalVariable>(); using (WriteArray()) { j.WriteValue(KremlinAst.ESequence); using (WriteArray()) { WriteEUnit(); // in case the statement list is empty foreach (Statement ss in stmts) { // JsonTextWriter is forward-only, but after calling TrStmt() we may need // to go back and inject new ELet statements to introduce temp variables. // So call TrStmt() once to generate code to a throw-away MemoryStream, // but remember what temps need to be introduced. Then introduce them // and call TrStmt() once more, to generate the actual Json. JsonTextWriter oldj = j; VariableTracker oldtracker = VarTracker.Clone(); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); JsonTextWriter newj = new JsonTextWriter(sw); newj.Formatting = oldj.Formatting; newj.Indentation = oldj.Indentation; j = newj; var oldVarDeclsList = varDeclsList; varDeclsList = new List<LocalVariable>(); TrStmt(ss); j = oldj; VarTracker = oldtracker; var decls = varDeclsList; // Grab the set of just-declared variables generated by the first TrStmt() pass varDeclsList = null; // Switch modes for next TrStmt() pass AllDecls.AddRange(decls); // Accumulate the set of all variables this stmt list has generated foreach (var l in decls) { // ELet v in { Stmt j.WriteStartArray(); j.WriteValue(KremlinAst.ELet); j.WriteStartArray(); WriteBinder(l, l.Name, true); // lident WriteDefaultValue(l.Type); // = default VarTracker.Push(l); // "in" is the contents that follow j.WriteStartArray(); j.WriteValue(KremlinAst.ESequence); j.WriteStartArray(); WriteEUnit(); } newj.Close(); string RawJson = sb.ToString(); if (RawJson != "") { j.WriteRaw(","); j.WriteWhitespace("\n"); j.WriteRaw(RawJson); // Now paste the JSON } if (ss.Labels != null) { // bugbug: these appear to be used to support "Break" statements. j.WriteComment("Labels are unsupported: " + ss.Labels.Data.AssignUniqueId("after_", idGenerator)); } varDeclsList = oldVarDeclsList; } // Now that all statements in the list have been generated, close out the nested ELets generated above AllDecls.Reverse(); foreach (var l in AllDecls) { VarTracker.Pop(l); j.WriteEndArray(); // Closing out the expr list in the ESequence j.WriteEndArray(); // Closing out the array aboce ESequence j.WriteEndArray(); // Closing out the list of binder * expr * expr j.WriteEndArray(); // Closing out the array above ELet } } } }
public void Compile(Program program, TextWriter wr) { Contract.Requires(program != null); // program.Name is the source filename without any path. Remove the extension // and use it as the name of the default module. In C#, this would have been // "_module". See WriteLident() for the renaming process. DafnyDefaultModuleName = System.IO.Path.GetFileNameWithoutExtension(program.Name).Replace('.', '_'); // Kremlin's JSON input is all JSON arrays, not serialized objects in the usual way. // [6, [ // ["FStar_Mul", []], // ["FStar_UInt", [ // ["DFunction", [ // ["TUnit"], "FStar_UInt_lognot_lemma_2", [{ // "name": "n", // "typ": ["TQualified", [ // ["Prims"], "pos" // ]], // "mut": false, // "mark": 0 // }], // ["EUnit"] // ]] // ]], ... j = new JsonTextWriter(wr); j.Formatting = Formatting.Indented; j.Indentation = 1; using (WriteArray()) { // Entire contents is an array - type binary_format j.WriteRawValue(KremlinAst.Version); // binary_format = version * file list using (WriteArray()) { // start of file list // bugbug: generate builtins as needed //CompileBuiltIns(program.BuiltIns); // Compile modules in order by height (program.Modules is sorted this way but in // reverse order). Compile SystemModule last, as it has height -1 and is not in // the .Modules list. List<ModuleDefinition> sortedModules = new List<ModuleDefinition>(program.Modules()); sortedModules.Reverse(); int previousHeight = sortedModules[0].Height+1; foreach (ModuleDefinition m in sortedModules) { Contract.Assert(m.Height < previousHeight); // .Modules is sorted CompileModule(m, wr); previousHeight = m.Height; } CompileModule(program.BuiltIns.SystemModule, wr); } // End of file list } // End of entire contents j.Close(); }
private string FormJsonObjectString(IDataObject dataObject) { string objectType = ((GenericDataObject)dataObject).ObjectType; DataObject objDef = _dataDictionary.dataObjects.Find(p => p.objectName.ToUpper() == objectType.ToUpper()); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); if (objDef != null) { JsonWriter jsonWriter = new JsonTextWriter(sw); jsonWriter.Formatting = Formatting.Indented; jsonWriter.WriteStartObject(); foreach (var entry in ((GenericDataObject)dataObject).Dictionary) { jsonWriter.WritePropertyName(entry.Key); jsonWriter.WriteValue(entry.Value); } jsonWriter.WriteEndObject(); jsonWriter.Close(); sw.Close(); } return sw.ToString(); }
public static void Main(string[] args) { if (args.Length < 2) { Console.WriteLine(Usage); return; } var commandLineInfo = new CommandLineInfo(args); if (!commandLineInfo.Initialize()) { return; } var streamWriter = new StreamWriter(commandLineInfo.Output); var jsonWriter = new JsonTextWriter(streamWriter); Stopwatch watch = new Stopwatch(); watch.Start(); foreach (var file in commandLineInfo.Inputs) { Console.WriteLine("Input: " + file); } Console.WriteLine("Output: " + commandLineInfo.Output); bool success = ConvertToJson(jsonWriter, commandLineInfo.Inputs, Console.WriteLine); jsonWriter.Close(); streamWriter.Close(); if (!success) { Console.WriteLine("Error encountered."); } else { Console.WriteLine("Finished processing in " + watch.ElapsedMilliseconds + " milliseconds"); } }
/// <summary> /// Serialize the HomeDocument model as text to a Stream /// </summary> /// <remarks> /// The stream will be closed when the method returns. /// </remarks> /// <param name="stream"></param> public void Save(Stream stream) { var sb = new StringBuilder(); var sw = new StringWriter(sb); JsonWriter jsonWriter = new JsonTextWriter(sw); jsonWriter.Formatting = Formatting.Indented; jsonWriter.WriteStartObject(); jsonWriter.WritePropertyName("resources"); jsonWriter.WriteStartObject(); foreach (var resource in _Resources.Values) { jsonWriter.WritePropertyName(resource.Relation); jsonWriter.WriteStartObject(); var parameters = resource.GetParameterNames().ToList(); var setParameters = resource.GetParameters().ToDictionary(k=> k.Name,v=> v); // These are params that actually have values set if (parameters.Any()) { jsonWriter.WritePropertyName("href-template"); jsonWriter.WriteValue(resource.Target); jsonWriter.WritePropertyName("href-vars"); jsonWriter.WriteStartObject(); foreach (var linkParameterName in parameters) { jsonWriter.WritePropertyName(linkParameterName); LinkParameter linkParameter; if (setParameters.TryGetValue(linkParameterName, out linkParameter)) { jsonWriter.WriteValue(linkParameter.Identifier); } else { jsonWriter.WriteValue((object)null); } } jsonWriter.WriteEndObject(); } else { jsonWriter.WritePropertyName("href"); jsonWriter.WriteValue(resource.Target); } var hints = resource.GetHints(); if (hints != null && hints.Any()) { jsonWriter.WritePropertyName("hints"); jsonWriter.WriteStartObject(); foreach (var hint in resource.GetHints()) { jsonWriter.WritePropertyName(hint.Name); if (hint.Content != null) { hint.Content.WriteTo(jsonWriter); } } jsonWriter.WriteEndObject(); } jsonWriter.WriteEndObject(); } jsonWriter.WriteEndObject(); jsonWriter.WriteEndObject(); var stw = new StreamWriter(stream); stw.Write(sb.ToString()); stw.Flush(); jsonWriter.Close(); }
public void Serialise(Stream stream, ServiceEventMessage message) { JsonTextWriter jsonTextWriter = new JsonTextWriter(new StreamWriter(stream)); _Serialiser.Serialize(jsonTextWriter, message); jsonTextWriter.Flush(); jsonTextWriter.Close(); }
public void SaveToFile(object list, string location) { if (File.Exists(@location)) File.Delete(@location); var fs = File.Open(@location, FileMode.Create); var sw = new StreamWriter(fs); JsonWriter jw = new JsonTextWriter(sw); { jw.Formatting = Formatting.Indented; var serializer = new JsonSerializer(); serializer.Serialize(jw, list); } jw.Close(); sw.Close(); fs.Close(); }