我开始学习json,我在第一个简单的应用程序中遇到了问题
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Script.Serialization;
using System.IO;
namespace ConsoleApplication1
{
class person
{
public string name { get; set; }
public int age { get; set; }
public override string ToString()
{
return string.Format("Name: {0} \nAge: {1}", name, age);
}
}
class Program
{
static void Main(string[] args)
{
string JSONstring = File.ReadAllText("bob.json");
JavaScriptSerializer ser = new JavaScriptSerializer();
person p1 = ser.Deserialize<person>(JSONstring);
Console.WriteLine(p1);
Console.ReadKey();
}
}
}
我的json文件是
{
"Name": "BOB",
"Age": 55
}
为什么在输出中给我年龄:0?
我该如何解决这个问题? 这是更好还是下载和使用Json.NET更好? 谢谢
答案 0 :(得分:2)
使用Json.NET在C#中序列化和反序列化JSON。例如
using System;
using Newtonsoft.Json;
class Person {
public string Name { get; set; }
public int Age { get; set; }
public override string ToString() {
return string.Format("Name: {0} \nAge: {1}", Name, Age);
}
}
public class Program {
public static void Main() {
var json = @"{
'Name': 'BOB',
'Age': 55
}";
var person = JsonConvert.DeserializeObject<Person>(json);
Console.WriteLine(person);
}
}
输出
Name: BOB
Age: 55
请参阅小提琴DEMO。