Deserializing simple string
我确定我遗漏了一些非常明显的东西,而且我已经阅读了不同的主题(比如这个,这个和这个,只是列举最后一个),但我仍然找不到答案……
这是我的课程:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System;
using Newtonsoft.Json; namespace WebAPIClient [JsonProperty(“name”)] public class Root |
我在这里尝试使用它们:
1
2 3 4 |
msg =“{“tournament“: {“Name“: “Worlds 2014 Flight One“}}”;
Root root = JsonConvert.DeserializeObject<Root>(msg) ; |
但在这种情况下,我收到堆栈溢出错误…
我错过了什么?如何读取字符串中的变量?
编辑:感谢有用的答案,我以这种方式更正了代码
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System;
using Newtonsoft.Json; namespace WebAPIClient } public class Root |
- 如果您使用我的代码,您可以解决您的问题
- 如果那里没有真正的功能,则不应定义 getter/setter。正如你所拥有的那样, { get; set; } 会做同样的事情,然后你就不需要私有字段了。
- @AmirHKH 抱歉,您的代码在哪里?
- @jeff-skyrunner 我在下面发布了它,请使用它,如果您有任何问题,我可以进一步解释
您的所有类都没有名为 tournament 的属性。你的 JSON 可以。这说明什么?
1
2 3 4 |
public class Root
{ public XWTournament tournament { get; set; } } |
你也不需要在你编写的 setter 中进行无限递归。尝试分配给它:getter 和 setter 都只是调用自己。这就是堆栈溢出异常的原因。如果您也尝试设置该属性,您也会得到一个。
- 谢谢,这对我帮助很大
来源:https://www.codenong.com/46915867/