コード例 #1
0
        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());
            }
        }
コード例 #2
0
 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);
         }
     }
 }