繁体   English   中英

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

[英]C# JSON parsing from URL with - in classname

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM