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.Equal(@"{ a: 1 }", stringWriter.ToString()); } }
private static void JsonBodyToSoapXml(Stream json, Stream xml) { OpenGamingLibrary.Json.JsonSerializerSettings settings = new OpenGamingLibrary.Json.JsonSerializerSettings(); settings.Converters.Add(new OpenGamingLibrary.Json.Converters.XmlNodeConverter()); OpenGamingLibrary.Json.JsonSerializer serializer = OpenGamingLibrary.Json.JsonSerializer.Create(settings); using (OpenGamingLibrary.Json.JsonTextReader reader = new OpenGamingLibrary.Json.JsonTextReader(new System.IO.StreamReader(json))) { XmlDocument doc = (XmlDocument)serializer.Deserialize(reader, typeof(XmlDocument)); if (reader.Read() && reader.TokenType != JsonToken.Comment) throw new JsonSerializationException("Additional text found in JSON string after finishing deserializing object."); using (XmlWriter writer = XmlWriter.Create(xml)) { doc.Save(writer); } } }