open System.Collections.Generic
open System.Runtime.Serialization.Formatters
open System.ComponentModel.DataAnnotations
open System.Globalization
open Newtonsoft.Json.Linq
open Newtonsoft.Json.Converters
open Newtonsoft.Json.Serialization
printfn "Environment.Version=%s" (Environment.Version.ToString())
printfn "%s version=%s" (typedefof<Map<_, _>>.Assembly.GetName().Name) (typedefof<Map<_, _>>.Assembly.GetName().FullName)
let jsonToStream(obj : 'T) =
let JsonSerializer = JsonSerializer.CreateDefault()
let std = new IO.MemoryStream()
( use sw = new StreamWriter(std, new UTF8Encoding(false, true), 1024, true)
use JsonWriter = new JsonTextWriter(sw, CloseOutput = false)
JsonSerializer.Serialize(JsonWriter, obj, obj.GetType()))
let debugTest(obj : 'T) =
let st = jsonToStream(obj)
let sw = new StreamReader(st)
let jsonString = sw.ReadToEnd()
printfn "\nResult using JsonSerializer.Serialize(JsonWriter, %s, %s.GetType())):\n%s" (obj.GetType().Name) (obj.GetType().Name) jsonString
and set value = a <- value
and set value = b <- value
and set value = c <- value
inherit XmlNodeConverter()
and set value = c <- value
inherit CamelCaseNamingStrategy()
and set value = c <- value
and set value = d <- value