[英]MessagePack Java serializing as array
Java中的MessagePack官方實現將公共字段序列化為Array是公認的行為嗎?
這個“像JSON”在什么宇宙中?
我的情況:我有一個像這樣的簡單班級:
@Message
public class MySuperClass(){
public int mySuperID; // let's say 4
public byte[] mySuperData; // let's say nothing
public String mySuperType; // let's say null
public String mySuperExtra; // let's say HI!
public MySuperClass(){}
// other constructors
}
而且我只是與序列化
MessagePack msgpack = new MessagePack();
msgpack.write(mySuperInstance);
並將其發送到用NodeJS編寫的遠程服務器。
Node JS可以輕松解壓縮它,以
['HI!', �, 4, null]
這意味着MessagePack與JSON完全不同,因為它會將Java對象解析為數組,然后僅按字母順序重新填充它們!
是否有人解決方案不包括映射我擁有的每個對象? (HashMap也不能由Node解包,這意味着messagePack不是跨平台的,因此,重復進行,就像JSON一樣)
從我對MessagePack的經驗來看,它通常將對象視為MessagePack映射。
它不使用任何語言特定的構造,因此它是跨平台的。
我認為您可能由於使用的庫而遇到問題。 您應該考慮正式的。 您可以在此處了解更多信息。 基本上,這是Jackson的擴展,讓我們直接將Java對象序列化和反序列化到MessagePack或從MessagePack反序列化,並且可以正常工作(至少在我必須使用它的時候)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.