在类名中使用-从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());
        }

在类名中使用-从URL解析C#JSON

通过使用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; }
}