在工作中,我们有一个测试工具,用于向数据源发送查询。该工具将输入作为XML文件。只要我们尝试表示的数据结构是一层深层,XML文件就很简单并且易于解析。但是现在这些数据结构更复杂,并且在XML中表示它们变得非常混乱。关于我可以用来表示数据结构而不是XML的任何想法?
示例:
在:
class Foo {
int userId;
string name;
string address;
string eMail;
}
现在:
class Foo {
int userId,
string name,
vector<Location> loc,
map<string, string> attributes;
}
class Location {
Address addr; //class Address
vector<LocatedTime> lcTime; //class LocatedTime
Position ps; //class Position
}
......等等,有任意数量的嵌套结构。
我倾向于使用JSON,但我愿意接受任何表示格式。
答案 0 :(得分:4)
你看过Protocol Buffers了吗?二进制序列化,在处理时间和存储空间方面非常有效。目前在C ++,Java和Python中“正确”支持了更多的实现(来自第三方 - 比如我自己;我正在实现一个C#端口)。
答案 1 :(得分:2)
YAML可能就是你要找的东西。
答案 2 :(得分:1)
您可以考虑使用Lua(或其他脚本语言)。您可以获得一种不错的数据结构语法(大致与JSON相同),具有编程语言的全部功能。因此,您有变量(您可以逐个构建数据结构,象征性地声明重复值等),循环(测试数据通常是重复的),函数(将它们视为数据中样板构造的宏)。 / p>
Lua对于这种用途来说是一个特别有吸引力的候选者,因为它很小(为你的程序增加100-200K)并且在C代码之间有一个非常优雅的接口。