- 已关闭**。此问题需要details or clarity。当前不接受答案。
- 想要改进此问题?**添加详细信息并通过editing this post阐明问题。
1小时前关闭。
Improve this question
在过去的6个小时里,我一直试图在文本框中显示一个json文件的内容,但一无所获。
private thruster Getthruster()
{
string text = File.ReadAllText(@"./thrusters.json");
List<thruster> test = JsonConvert.DeserializeObject<List<thruster>>(text);
textBox1.Text = text;
foreach (var item in test)
{
textBox1.Text = item.type;
}
return Getthruster();
}
public class thruster
{
public string id { get; set; }
public string type { get; set; }
public string placement { get; set; }
}
{
"thruster": [
{
"id": 1,
"type": "tunnel",
"placement": "bow"
},
{
"id": 2,
"type": "tunnel",
"placement": "bow"
},
{
"id": 3,
"type": "azimuth",
"placement": "bow"
},
{
"id": 5,
"type": "azimuth",
"placement": "stern"
},
{
"id": 5,
"type": "tunnel",
"placement": "stern"
},
{
"id": 6,
"type": "azimuth_propulsion"
},
{
"id": 7,
"type": "azimuth_propulsion"
}
]
}
2条答案
按热度按时间syqv5f0l1#
首先,您将遇到一个
StackOverflowException
,因为您在同一个方法中调用同一个方法(Getthruster()
),而没有任何退出条件。在此之后,您的json文件似乎是不正确的。您有一个
Dictionary<string,thruster[]>
,而不是thruster[]
(或列表)。thruster[]
或List<thruster>
的json应该如下所示:kupeojn62#
你在一个json字符串中有一个对象,但是你试图将它序列化为一个数组。你可以使用下面的代码在你的json中反序列化数组