草庐IT

Serialization

全部标签

json:无法将对象解码为 Auction.Item 类型的 Go 值

我在反序列化我的对象时遇到问题。我使用这个对象的接口(interface)来调用序列化,并且通过读取输出,序列化工作得很好。这是我的对象的底层结构:typepimpstruct{PriceintExpDateint64BidItemItemCurrentBidintPrevBidders[]string}这是它实现的接口(interface):typePimpinterface{GetStartingPrice()intGetTimeLeft()int64GetItem()ItemGetCurrentBid()intSetCurrentBid(int)GetPrevBidders()[

json - 如何使用 String() 方法将嵌入式结构正确序列化为 JSON 字符串?

packagemainimport("fmt""encoding/json")typeTicketstruct{FromstringTostring}func(tTicket)String()string{returnfmt.Sprintf("%s-%s",t.From,t.To)}typePassengerstruct{Namestring`json:"Name"`TktTicket`json:"Ticket"`}funcmain(){p:=Passenger{}p.Name="John"p.Tkt.From="NewYork"p.Tkt.To="Washington"buf,_:=

json - 如何使用 String() 方法将嵌入式结构正确序列化为 JSON 字符串?

packagemainimport("fmt""encoding/json")typeTicketstruct{FromstringTostring}func(tTicket)String()string{returnfmt.Sprintf("%s-%s",t.From,t.To)}typePassengerstruct{Namestring`json:"Name"`TktTicket`json:"Ticket"`}funcmain(){p:=Passenger{}p.Name="John"p.Tkt.From="NewYork"p.Tkt.To="Washington"buf,_:=

serialization - 使用 Gob 以追加方式将日志写入文件

是否可以使用Gob编码将结构串联附加到同一文件中?它适用于写作,但是当我不止一次地使用解码器阅读时,我遇到了:extradatainbuffer所以我首先想知道这是否可行,或者我是否应该使用JSON之类的东西来逐行附加JSON文档。因为另一种方法是序列化一个slice,但再次将其作为一个整体读取会破坏追加的目的。 最佳答案 gob软件包并非设计为以这种方式使用。gob流必须由单个gob.Encoder写入,它也必须由单个gob.Decoder读取.这是因为gobpackage不仅序列化你传递给它的值,它还传输数据来描述它们的类型:A

serialization - 使用 Gob 以追加方式将日志写入文件

是否可以使用Gob编码将结构串联附加到同一文件中?它适用于写作,但是当我不止一次地使用解码器阅读时,我遇到了:extradatainbuffer所以我首先想知道这是否可行,或者我是否应该使用JSON之类的东西来逐行附加JSON文档。因为另一种方法是序列化一个slice,但再次将其作为一个整体读取会破坏追加的目的。 最佳答案 gob软件包并非设计为以这种方式使用。gob流必须由单个gob.Encoder写入,它也必须由单个gob.Decoder读取.这是因为gobpackage不仅序列化你传递给它的值,它还传输数据来描述它们的类型:A

java - 将 Protobuf 消息持久化到数据库

持久化使用protobuf3定义的数据的正确方法是什么。我正在使用golang和Java,它们都支持ORM。在Java中使用Hibernate,在golang中使用gorm。这两个地方我都需要将生成的代码转换为相应的实体模型。我觉得维护相同的对象结构以便ORM可以理解会更加痛苦。是否有任何数据库可以与protobuf对象一起使用。或者我可以在protobuf本身中定义对象之间的关系。非常感谢任何帮助。 最佳答案 根据定义,您的ORM正在处理对象。它不应该知道或关心网络上的序列化。我建议将protobuf消息反序列化为您的ORM习惯的

java - 将 Protobuf 消息持久化到数据库

持久化使用protobuf3定义的数据的正确方法是什么。我正在使用golang和Java,它们都支持ORM。在Java中使用Hibernate,在golang中使用gorm。这两个地方我都需要将生成的代码转换为相应的实体模型。我觉得维护相同的对象结构以便ORM可以理解会更加痛苦。是否有任何数据库可以与protobuf对象一起使用。或者我可以在protobuf本身中定义对象之间的关系。非常感谢任何帮助。 最佳答案 根据定义,您的ORM正在处理对象。它不应该知道或关心网络上的序列化。我建议将protobuf消息反序列化为您的ORM习惯的

json - encoding/json unmarshal 缺少一个字段

以下代码解码“Id”,而不是“主机名”。为什么?我已经盯着它看了足够长的时间了,如果它是一个错字,我知道我永远不会发现它。请帮忙。(http://play.golang.org/p/DIRa2MvvAV)packagemainimport("encoding/json""fmt")typejsonStatusstruct{Hostnamestring`json:host`Idstring`json:id`}funcmain(){msg:=[]byte(`{"host":"Host","id":"Identifier"}`)status:=new(jsonStatus)err:=json

json - encoding/json unmarshal 缺少一个字段

以下代码解码“Id”,而不是“主机名”。为什么?我已经盯着它看了足够长的时间了,如果它是一个错字,我知道我永远不会发现它。请帮忙。(http://play.golang.org/p/DIRa2MvvAV)packagemainimport("encoding/json""fmt")typejsonStatusstruct{Hostnamestring`json:host`Idstring`json:id`}funcmain(){msg:=[]byte(`{"host":"Host","id":"Identifier"}`)status:=new(jsonStatus)err:=json

json - JSON 的编码/解码、编码/解码和序列化/反序列化之间的关系和区别?

在Go的JSON包中,看到有marshal,decode等函数。我认为decode与marshal相反,但后者意识到我可能错了。我认为我的基本问题是:JSON的marshall/unmarshal、encoding/decoding、serialization/deserialization有什么关系和区别?谢谢。请在此处查看示例Whyarejsonpackage'sDecodeandMarshalmethodsusedhere? 最佳答案 我个人会说所有这些术语都是同义词,但与编码/解码相比则不然。在Go中,Marshal和Unm