将 json 文件反序列化为 poco 对象无效
deserialization of json file to poco object not working
我正在尝试用我的 VS 项目中的 .json 文件中的数据实例化一个 poco 对象。当我使用这段代码时,它只是 returns 一个空对象。
Class:
public class Person
{
public int id { get; set; }
public string name { get; set; }
}
Json 文件中的文本:
{
"person":
{
"id": 1,
"name": "joe"
}
}
Program.cs中的代码:
static void Main(string[] args)
{
string jspath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"Json\json1.json");
//person object results in 0 for id and null for name (empty)
Person person = new JavaScriptSerializer().Deserialize<Person>(File.ReadAllText(jspath ));
}
我做错了什么?
您的 JSON 文件不正确。
应该是:
{ "id": 1, "name": "joe" }
证明:
Person p = new Person
{
id = 1,
name = "joe"
};
var sb = new StringBuilder();
new JavaScriptSerializer().Serialize(p, sb);
Console.WriteLine(sb.ToString()); // Outputs: { "id": 1, "name": "joe" }
我正在尝试用我的 VS 项目中的 .json 文件中的数据实例化一个 poco 对象。当我使用这段代码时,它只是 returns 一个空对象。
Class:
public class Person
{
public int id { get; set; }
public string name { get; set; }
}
Json 文件中的文本:
{
"person":
{
"id": 1,
"name": "joe"
}
}
Program.cs中的代码:
static void Main(string[] args)
{
string jspath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"Json\json1.json");
//person object results in 0 for id and null for name (empty)
Person person = new JavaScriptSerializer().Deserialize<Person>(File.ReadAllText(jspath ));
}
我做错了什么?
您的 JSON 文件不正确。
应该是:
{ "id": 1, "name": "joe" }
证明:
Person p = new Person
{
id = 1,
name = "joe"
};
var sb = new StringBuilder();
new JavaScriptSerializer().Serialize(p, sb);
Console.WriteLine(sb.ToString()); // Outputs: { "id": 1, "name": "joe" }