【发布时间】:2019-04-15 15:14:40
【问题描述】:
ScreenShot Of Error 我有一个包含一些数据的 json 文件,我想解析它,但每次我想反序列化对象时,它都会给我这个错误“找不到构造函数。一个类应该有一个默认构造函数,一个带有参数的构造函数或一个带有 json 构造函数的构造函数我不知道该怎么做,因为在我第一次使用 json 之前我没有使用 json。 这是我的 json :
{
"Addition":
{
"Easy": [
"New York Bulls",
"Los Angeles Kings",
"Golden State Warriros",
"Huston Rocket"
],
"Medium":[
"New York Bulls",
"Los Angeles Kings",
"Golden State Warriros",
"Huston Rocket"
],
"Difficult": [
"New York Bulls",
"Los Angeles Kings",
"Golden State Warriros",
"Huston Rocket"
]
}
}
这是我的模型类
public class Addition
{
public List<string> Easy { get; set; }
public List<string> Medium { get; set; }
public List<string> Difficult { get; set; }
public Addition() { }
}
这是我的反序列化对象函数
private void ReadJson()
{
var assembly = typeof(WordProblemsScreen).GetTypeInfo().Assembly;
Stream stream =
assembly.GetManifestResourceStream("MathRandomizer.demo.json");
using (var reader = new System.IO.StreamReader(stream))
{
string json = reader.ReadToEnd();
JObject jObject = JObject.Parse(json);
JToken jUser = jObject["Addition"];
var addition = JsonConvert.DeserializeObject<Addition>(json);
}
}
【问题讨论】:
-
我认为你甚至不需要这个构造函数,而是可以依赖默认构造函数。
JsonConvert将使用它,如果没有提供其他的,并适当地设置属性。 -
@HimBromBeere 我已经尝试过你所说的,但错误仍然是一样的
-
@HimBromBeere 还是同样的错误
-
我想你还有一个
Addition类。单击<Addition>的中间,然后按[F12]。看看会带你去哪里。 -
var addition = JsonConvert.DeserializeObject<Addition>(json);
标签: c# json xamarin.forms json.net