0

问题说明:在 asp.net 中构建一个 web api 来发布多级 json 格式的数据。

json格式:

{
  "InfoList:"[
    {
    "Name": " Sample String 1",
    "URL": " Sample String2",
    "Info":[
        {
            "ZIP": " Sample String3 "
            "status": "Sample String4"
        }
    ]
     }
   ]
}

我试图解决这个问题。我的模型如下:

我的模型:

public class Information : InfoList
    {
        public InfoList InfoList { get; set; }
    }

public class InfoList 
        {

            public string Name { get; set; }

            public string URL { get; set; }

            public Info info { get; set; }
        }

public class Info
    {
        public string ZIP{ get; set; }

        public string status { get; set; }

    }

这些模型生成这种 Json 格式:

{
  "InfoList": {
    "Name": "sample string 1",
    "URL": "sample string 2",
    "Info": {
      "ZIP": "sample string 1",
      "status": "sample string 2"
    }
  },
  "Name": "sample string 1",
  "URL": "sample string 2",
  "Info": {
    "ZIP": "sample string 1",
    "status": "sample string 2"
  }
}

我需要这些括号,就像问题规范一样。该怎么办?我正在使用 ASP.Net Web API 控制器。

4

3 回答 3

1

你继承InformationInfoList它自然会得到 fieldsNameURL。删除继承并将InfoListandInfo成员更改为数组或列表,你就会得到你想要的。

public class Information
{
    public InfoList[] InfoList { get; set; }
}

public class InfoList 
{
    public string Name { get; set; }
    public string URL { get; set; }
    public Info[] info { get; set; }
}

public class Info
{
    public string ZIP{ get; set; }
    public string status { get; set; }
}
于 2016-10-13T07:20:06.623 回答
0

您只需复制 JSON,然后创建 C# 类文件。然后单击编辑 -> 选择性粘贴 -> 将 JSON 粘贴为类。而已...

为此,您需要 Visual Studio。

欲了解更多信息,请参阅下面的链接

单击“选择性粘贴”时,如何在 Visual Studio 2012 中显示“粘贴 Json 类”?

有效的 JSON

{
    "InfoList":  {
        "Name": " Sample String 1",
        "URL": " Sample String2",
        "Info": [
            {
                "ZIP": " Sample String3 ",
                "status": "Sample String4"
            }
        ]
    }
}

所以你的课一定是这样的。

public class Rootobject
{
    public Infolist InfoList { get; set; }
}

public class Infolist
{
    public string Name { get; set; }
    public string URL { get; set; }
    public Info[] Info { get; set; }
}

public class Info
{
    public string ZIP { get; set; }
    public string status { get; set; }
}
于 2016-10-13T07:21:02.783 回答
0

您可以使用http://json2csharp.com/在线工具从 json 数据字符串创建 c# 类。只需复制您的 json 并获取课程。

于 2016-10-15T16:16:59.333 回答