标签: data-serialization

谷歌协议缓冲区vs json vs XML

我想知道它的优点和缺点

  • Google协议缓冲区
  • JSON
  • XML

我想为两个应用程序实现一个通用框架,一个在Perl中,另一个在Java中.因此,想要创建可以由两种技术使用的公共服务,即Perl和Java.

两者都是网络应用程序.

请与我分享您对此的宝贵意见和建议.我在谷歌上看过很多链接,但都有不同意见.

xml json protocol-buffers data-serialization

226
推荐指数
1
解决办法
8万
查看次数

msgpack的MIME类型?

msgpack似乎是一种非常快速的,如果是非常新的数据序列化格式.它是否具有可识别的MIME类型?如果没有,过渡时应该使用什么?

http data-serialization msgpack

30
推荐指数
2
解决办法
7023
查看次数

Java Serialization vs JSON vs XML

我想知道在处理通过网络传输对象时我们应该选择什么序列化机制.优缺点都有什么 ?

我知道大多数的我们在使用的时候JSON还是XML用于AJAX自传输格式相当多Javascript格式,再加上JSON是相当轻巧的,其占用空间小,因此是Java系列化完全出表的?

java serialization json xml-serialization data-serialization

26
推荐指数
3
解决办法
2万
查看次数

什么是数据序列化系统?

根据Apache AVRO项目,"Avro是一个序列化系统".通过说数据序列化系统,是否意味着avro是产品或api?

另外,我不确定数据序列化系统是什么?现在,我的理解是它是一个定义数据对象如何通过网络传递的协议.任何人都可以帮助以直观的方式解释它,以便分析计算背景有限的人更容易理解吗?

提前致谢!

hadoop distributed-computing data-serialization

17
推荐指数
1
解决办法
1万
查看次数

AVRO中的数据验证

我是AVRO的新手,请问这是一个简单的问题。我有一个用例,其中我使用AVRO模式进行记录调用。

假设我有Avro模式

{
    "name": "abc",
    "namepsace": "xyz",
    "type": "record",
    "fields": [
        {"name": "CustId", "type":"string"},
        {"name": "SessionId", "type":"string"},
     ]
}
Run Code Online (Sandbox Code Playgroud)

现在,如果输入像

{
    "CustId" : "abc1234"
    "sessionID" : "000-0000-00000"
}
Run Code Online (Sandbox Code Playgroud)

我想对这些字段使用一些正则表达式验证,并且仅当输入格式如上所示时才接受此输入。有什么方法可以在avro模式中指定包含正则表达式的表达式吗?

还有其他支持这样的数据序列化格式吗?

rpc json-rpc data-serialization avro avro4s

5
推荐指数
1
解决办法
3509
查看次数

DataContractSerializer失败,空数据

我有一些Windows Phone 7的代码,用于RSS应用程序:

private RSSSettings DeserializeSettings(string data)
    {
        RSSSettings rsssettings;
        try
        {
            var ser = new DataContractSerializer(typeof(RSSSettings));
            using (var sr = new StringReader(data))
            using (var xr = XmlReader.Create(sr))
                rsssettings = (RSSSettings)ser.ReadObject(xr);
        }
        catch (Exception ex)
        {
            ex.ToString();
            rsssettings = new RSSSettings() { Version = -1 };
        }
        return rsssettings;
    }
Run Code Online (Sandbox Code Playgroud)

它在Windows Phone 7上完美运行.我将应用程序移植到Windows Phone 8,除了此代码段之外,应用程序中的其他所有内容都可以正常工作.

比较Windows Phone 7和8中发生的情况,WP8中的"rsssettings"在WP7中正确填充时保持为null.代码的这部分根本没有代码更改.

一切都是一样的,直到:

rsssettings = (RSSSettings)ser.ReadObject(xr);
Run Code Online (Sandbox Code Playgroud)

不会调用该异常.

任何人都知道如何解决这个令人沮丧的问题?

c# xml-serialization windows-phone-7 data-serialization windows-phone-8

5
推荐指数
1
解决办法
1302
查看次数

Hazelcast IMap.get()抛出HazelcastSerializationException,但IMap.put()工作正常

我在VM上运行了Hazelcast服务器实例.数据应该存储在a中MAP<Integer, User>,其中User类如下:

public class User implements com.hazelcast.nio.serialization.DataSerializable{
    private Integer id;
    private String name;
    private String nick;
    private Boolean sex;

    //getters & setters

    @Override
    public void writeData(ObjectDataOutput out) throws IOException{
        out.writeInt(id.intValue());
        out.writeUTF(name);
        out.writeUTF(nick);
        out.writeBoolean(sex);
    }

    @Override
    public void readData(ObjectDataInput in) throws IOException{       
        id = (Integer) in.readInt();
        name = in.readUTF();
        nick = in.readUTF();
        sex = in.readBoolean();
    }
Run Code Online (Sandbox Code Playgroud)

我使用客户端实例连接到此服务器并尝试将对象添加到该映射:

    System.out.println("Map Size: " + map.size());
    map.put(1, user);
    System.out.println("Map Size: " + map.size());

    System.out.println(map.containsKey(1) ? "yes":"no");
    System.out.println(map.containsValue(user) ? "yes":"no");
    User queried = (User) …
Run Code Online (Sandbox Code Playgroud)

map data-serialization hazelcast

3
推荐指数
1
解决办法
2297
查看次数