【发布时间】:2016-02-26 23:29:27
【问题描述】:
我有这个 JSON:
{
"argument0": {
"argument1": "test",
"argument2": {
"argument3": "test3"
}
}
}
我需要使用某种递归结构和 Rust 中的 HashMap<String, _> 之类的方法。键应始终是 String,但值可以是 String 或相同的 Argument 结构。
#[derive(Clone, RustcDecodable, RustcEncodable)]
struct Argument {
key: String
value: String Or Argument
}
我怎样才能做到这一点?
【问题讨论】:
-
欢迎来到 Stack Overflow!在提出问题时,我们希望您向我们展示the research you have done。这有助于了解您缺少什么并提供答案。它还有助于淘汰那些想要将 SO 用作代码编写服务的人(事实并非如此)。你应该edit你的问题包括你尝试了什么,为什么这不起作用,然后我们可以从那里开始。
-
你的 struct 对应一个单链表,而你的 json 对象似乎是一棵树,所以有问题。我最好的建议是在开始担心 json 之前先创建正确的数据结构。此外,在导入之前尝试导出为 json。这是导出到 doc.rust-lang.org/num/rustc_serialize/json/index.html 的手册页您可能应该阅读 om 枚举以便能够表示 StringOrArgument doc.rust-lang.org/book/enums.html
-
感谢 Shepmaster,Niesle 的 cmets。 Niesle,我在这里研究了树的表示:stackoverflow.com/questions/21791786/…,感谢这个方向,现在我可以重做一些编码来按照你的建议查看导出的 json。 json 中的表示很重要,因为这是针对 REST API 的,我需要这种精确的表示。
标签: json recursion struct hashmap rust