DataContractJsonSerializer crea JSON per i tipi di record F # che include il carattere '@' dopo ogni nome di proprietà. Qualcuno sa se è possibile ottenere JSON che non ha questo trailing al simbolo?Serializzare F # Il tipo di record su JSON include il carattere '@' dopo ogni proprietà
{"[email protected]":20,"[email protected]":45.0,"[email protected]":108.0,"[email protected]":"Rambo"}
Ecco lo script che uso per produrre questo campione
#r "System.Xml"
#r "System.Runtime.Serialization"
open System.Text
open System.Runtime.Serialization.Json
open System.IO
type Update = {
name: string;
latitude: decimal;
longitude: decimal;
heart_rate: int}
let update = {name = "Rambo"; latitude = 45.0m; longitude = 108.0m; heart_rate = 20}
let serializer = new DataContractJsonSerializer(typeof<Update>)
let stream = new MemoryStream()
let data = serializer.WriteObject(stream, update)
let updateData = stream.ToArray()
let json = (Encoding.UTF8.GetString(updateData))
printfn "%s" json
FWIW, ecco come lo faccio funzionare in API Web ASP.NET: http://blog.ploeh.dk/2013/10/15/easy-aspnet-web-api-dtos-with-f-climutable- record –