在类名中使用-从URL解析C#JSON
本文关键字:URL 解析 C#JSON | 更新日期: 2023-09-27 18:23:46
使用C#从url解析JSON数组。但是类名中有"-",你怎么能这样做?
示例:
{
"my-class": [
{
"class_name": "1H",
"class_room": "201aTD",
"day": "26",
"month": "10",
"period": "2",
"subject": "IF",
"teacher": "J04",
"year": "2015"
}]
}
编辑:
这是我尝试的代码。但是我没有把单子拿回来。
public void gettimetable(string s) {
string get = getTimeTable(s);
JObject o = JObject.Parse(get);
var obj = JsonConvert.DeserializeObject<RootObject>(get);
TextBox1.Text = (obj.MyClass.ToString());
// TextBox1.Text=(obj.class_room[0].ToString());
}
通过使用JsonProperty
属性对类进行注释,Json.NET可以轻松实现这一点:
static void Main(string[] args)
{
var json = "{'"my-class'": [{'"class_name'": '"1H'",
'"class_room'": '"201aTD'",
'"day'": '"26'",
'"month'": '"10'",
'"period'": '"2'",
'"subject'": '"IF'",
'"teacher'": '"J04'",
'"year'": '"2015'"}]}";
Console.WriteLine(JsonConvert.DeserializeObject<RootObject>(json));
}
public class RootObject
{
[JsonProperty("my-class")]
public List<MyClass> MyClass { get; set; }
}
public class MyClass
{
[JsonProperty("class_name")]
public string ClassName { get; set; }
[JsonProperty("class_room")]
public string ClassRoom { get; set; }
[JsonProperty("day")]
public string Day { get; set; }
[JsonProperty("month")]
public string Month { get; set; }
[JsonProperty("period")]
public string Period { get; set; }
[JsonProperty("subject")]
public string Subject { get; set; }
[JsonProperty("teacher")]
public string Teacher { get; set; }
[JsonProperty("year")]
public string Year { get; set; }
}