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
type RequireObjectPropertiesContractResolver() =
inherit DefaultContractResolver()
override this.CreateObjectContract(objectType : Type) =
let contract = base.CreateObjectContract(objectType)
contract.ItemRequired <- new System.Nullable<Required>(Required.Always);
let foo = new FooType (id = 101, name = "John")
let jsonConvertString = (JsonConvert.SerializeObject(foo))
printfn "\nResult using JsonConvert.SerializeObject():\n%s" jsonConvertString