Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tree 用节俭表示树结构_Tree_Thrift - Fatal编程技术网

Tree 用节俭表示树结构

Tree 用节俭表示树结构,tree,thrift,Tree,Thrift,我现在使用节俭作为通信协议。 我必须传递一个对象(树数据结构)来映射树数据结构。我想生成java代码。 如何通过Thrift传输树数据结构,我按树定义了一个对象,但Thrift不允许这种方式,我的Thrift文件中的一部分: struct MyObject { 1:i32 id, 2:i32 parentid, 3:string name, 4:list<MyObject> children } struct MyObject{ 1:i32 id, 2:i32 parentid,

我现在使用节俭作为通信协议。 我必须传递一个对象(树数据结构)来映射树数据结构。我想生成java代码。 如何通过Thrift传输树数据结构,我按树定义了一个对象,但Thrift不允许这种方式,我的Thrift文件中的一部分:

struct MyObject {
1:i32 id,
2:i32 parentid,
3:string name,
4:list<MyObject> children
}
struct MyObject{
1:i32 id,
2:i32 parentid,
3:字符串名,
4:列出儿童
}
然而,我从Thrift得到了这个错误:类型“MyObject”尚未定义。 有没有关于这个的旁听? 谢谢你的建议

你可以试试这个

struct TreeNode {
1:i32 id,
2:i32 parentid,
3:string name,
4:list<i32> childrenIds
}

struct Tree {
1:i32 rootId,
2:map<i32,TreeNode> nodes,
}
结构树节点{ 1:i32 id, 2:i32 parentid, 3:字符串名, 4:列出儿童ID } 结构树{ 1:i32 rootId, 2:映射节点, }
通过这种方式,您可以将简单的数据结构解释为树,节俭不允许递归: 可能的解决方法是由user537862编写的