gpt4 book ai didi

json - 将 F# 记录类型序列化为 JSON 包括每个属性后的 '@' 字符

转载 作者:行者123 更新时间:2023-12-03 20:27:55 25 4
gpt4 key购买 nike

DataContractJsonSerializer 为 F# 记录类型创建 JSON,在每个属性名称后包含“@”字符。有谁知道是否有可能获得没有这个尾随符号的 JSON?

{"heart_rate@":20,"latitude@":45.0,"longitude@":108.0,"name@":"Rambo"}

这是我用来输出此示例的脚本
#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

最佳答案

它使用编译器生成的支持字段的名称。您可以使用 DataMemberAttribute提供您自己的姓名。

[<DataContract>]
type Update = {
[<field: DataMember(Name="name")>]
name: string;
[<field: DataMember(Name="latitude")>]
latitude: decimal;
[<field: DataMember(Name="longitude")>]
longitude: decimal;
[<field: DataMember(Name="heart_rate")>]
heart_rate: int}

关于json - 将 F# 记录类型序列化为 JSON 包括每个属性后的 '@' 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13037472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com