2012-11-02 47 views

回答

0

他们可以是任何类型?

是的。这正是为什么键被表示为msgpack_object-s。

如果看看maps format specification你可以看到,映射由N =地图其中内对数来定义:

奇数元素是关键的键和下一个元素是它的关联值

所以你可以自由地使用任何类型的对象的键。

下面是一个例子(与由2双一地图)从test/msgpackc_test.cpp

unsigned int map_size = 2; 
/* ... */ 
msgpack_pack_map(&pk, map_size); 
msgpack_pack_true(&pk); 
msgpack_pack_false(&pk); 
msgpack_pack_int(&pk, 10); 
msgpack_pack_int(&pk, -10); 

正如你可以看到所述第一密钥是一个MSGPACK_OBJECT_BOOLEAN和第二个是一个MSGPACK_OBJECT_POSITIVE_INTEGER