草庐IT

marshaller

全部标签

ruby - 如何以编程方式删除实例上的 "singleton information"以使其编码(marshal)?

我创建了一个由于“在运行时执行的单例元类定义”而无法编码的对象(这段代码的描述是否正确?)。这是通过以下代码执行的:#defineclassXthatmyusesingletonclassmetaprogrammingfeatures#throughcallofmethod:break_marshalling!classXdefbreak_marshalling!meta_class=class我该怎么做才能使对象编码正确?是否可以从对象instance_of_x的classX中“移除”单例组件?我真的需要一个建议,因为我们的一些对象需要通过Marshal.dump序列化机制进行缓存。

ruby - 比 Ruby 编码(marshal)更快/更有效的替代品?

我正在寻找Ruby的Marshal功能的直接替代品,希望它比Marshal具有以下一个或多个优势:更快的序列化/反序列化更简洁(或更小)的对象图谢谢!! 最佳答案 不幸的是,这不能作为替代品,因为Marshall会自动处理复杂类型。看起来msgpack将需要构建额外的功能(如Marshal的内部结构)将迭代定义相关对象的Ruby结构。 关于ruby-比Ruby编码(marshal)更快/更有效的替代品?,我们在StackOverflow上找到一个类似的问题:

ruby - 不兼容的 marshal 文件格式(无法读取)需要格式版本 4.8; 0.0 给出

我收到以下错误:incompatiblemarshalfileformat(can'tberead)formatversion4.8required;0.0given在这一行:从我的布局文件的这一部分:true%>true%>我以前从来没有遇到过这个问题,网上的解释对我来说太高级了,或者与制作游戏的人有关,我的项目是一个简单的rails应用程序,我昨天才开始。 最佳答案 您尝试过清算Assets吗?bundleexecrakeassets:clean然后重新编译:bundleexecrakeassets:precompile您是否以

ruby - ruby 序列化(Marshaling)是如何工作的?

我找到了一些关于该主题的信息(likethislink)),但没有任何信息告诉我它实际上是如何在幕后运作的。如果你不想阅读下面的文章,这里是真正的问题:我应该如何实现marshal_dump和marshal_load方法?即使是一个简单的例子也可以。当marshal_load被调用时,它如何“知道”要创建哪种类型的对象?如果文件中有多个相同类型的对象,你如何分辨哪个是哪个?我显然很困惑......如果我有一个表示图像的对象,是否有不同的方法将其写入磁盘?我的具体问题是:有点复杂,因为我没有要序列化的对象的源代码。我正在开发游戏引擎的模组(使用RGSS2游戏库的RPGMakerVX)。有

ruby - 为什么在 Ruby 中使用 Marshal 转储和加载哈希会抛出 FormatError?

我正在运行从RubyInstaller安装的Ruby.这是版本:C:\Users\Sathya>ruby-vruby1.9.2p290(2011-07-09)[i386-mingw32]这是抛出错误的确切代码:hashtime=Hash.new(Time.mktime('1970'))hashtime[1]=Time.now=>2011-10-0419:26:53+0530printhashtime{1=>2011-10-0419:26:53+0530}=>nilhashtime[1]=Time.now=>2011-10-0419:27:20+0530printhashtime{1=>

go - 在执行 Marshal 和 Unmarshal 时,JSON 字段名称的大小写是否重要?

Marshal和Unmarshal函数是否严格区分大小写?下面的结构定义了一个工单:typeTicketInfostruct{TicketKeystring`json:"ticketKey"`Ticketextnumstring`json:"ticketextnum"`TicketDatestring`json:"ticketDate"`TicketDescstring`json:"ticketDesc"`}此json的字符串化形式将作为单个参数传递到源系统API调用的有效负载中。例如,如果源系统为第一个字段发送“TicketKey”而不是“ticketKey”,将会发生什么。json

json - GoLang - 编码/json.Marshal 或 fmt.sprintf?

哪个会更快?data:=fmt.Sprintf("{\"TEST\":3,\"ID\":\"%s\"}",Id)或者json编码这样的结构? 最佳答案 对于具有基本数据类型(string、bool、int)的JSON,fmt.Sprintf更快。基准测试表明,在渲染非常小的JSON对象时,它的速度大约是json.Marshal的两倍,并且随着添加的数据越来越多,性能的差异也在增加。使用这两种方法渲染JSON对象的基准测试结果(为清楚起见,各10,000,000次)如下:BenchmarksforrenderingasmallJSON

json.Marshal 对两个对象的行为不同 (Go/Golang)

所以我想将数据编码为JSON。基本结构如下所示:typeDatabaseObjectstruct{Preferences[]int`json:"preferences"`Textsmap[string]string`json:"texts"`Optionsmap[string]string`json:"options"`Genderstring`json:"gender"`EMailstring`json:"email"`}这是(工作中的)Playground版本:https://play.golang.org/p/GI3nAo7L4a然而,当我在我的程序中使用这段代码时,结果却大不相

xml - 从 xml.Marshal() 的结果中解码 XML

我有一个小的struct,我想使用encoding/xml对它进行编码和解码。包裹:typePointstruct{X,Yintzint//unexportedNames[]string}当我使用encoding/json时编码/解码工作正常包。但是当我使用encoding/xml包时,只有xml.Marshal()有效,xml.Unmarshal()返回一个错误:invalidcharacter'我是这样处理XML的:p:=Point{1,2,3,[]string{"Bob","Alice"}}data,err:=xml.Marshal(p)iferr!=nil{fmt.Printl

json - 嵌套的Json Array在golang中构造un-marshalling

我主要关注在golang中解码以下JSON数组。{"status":{"code":"SUCCESS"},"result":{"total_records":1,"records":[{"last_modified_timestamp":1501209015807,"dns_servers":null,"is_secured":false,"nis_domains":null,"storage_platform_resource_key":"e1ee32f9-6576-11e7-82a8-00a098697714","name":"vs1","nis_servers":null,"cr