如何在 ASP.Net 中为多级 Json 格式创建模型?
How to create Models in ASP.Net for multi level Json format?
问题说明:在 asp.net 到 post 多级 json 格式的数据中构建网络 api。
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"
}
}
我需要那些与问题 specification.What 完全一样的括号吗?我正在使用 ASP.Net Web API 控制器。
您从 InfoList
继承了 Information
,因此它自然会获得字段 Name
、URL
等。删除继承并更改 InfoList
和 Info
成员到数组或列表中,你会得到你想要的。
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; }
}
您只需复制 JSON,然后创建 C# Class 文件。然后单击编辑 -> 选择性粘贴 -> 将 JSON 粘贴为 Classes。就是这样...
为此你需要 Visual Studio。
更多信息请见下文link
How to show the "paste Json class" in visual studio 2012 when clicking on Paste Special?
有效JSON
{
"InfoList": {
"Name": " Sample String 1",
"URL": " Sample String2",
"Info": [
{
"ZIP": " Sample String3 ",
"status": "Sample String4"
}
]
}
}
所以你的class一定是这样的
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; }
}
您可以使用 http://json2csharp.com/ 在线工具从 json 数据字符串创建 c# class。只需复制您的 json 并获得 classes。
问题说明:在 asp.net 到 post 多级 json 格式的数据中构建网络 api。
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"
}
}
我需要那些与问题 specification.What 完全一样的括号吗?我正在使用 ASP.Net Web API 控制器。
您从 InfoList
继承了 Information
,因此它自然会获得字段 Name
、URL
等。删除继承并更改 InfoList
和 Info
成员到数组或列表中,你会得到你想要的。
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; }
}
您只需复制 JSON,然后创建 C# Class 文件。然后单击编辑 -> 选择性粘贴 -> 将 JSON 粘贴为 Classes。就是这样...
为此你需要 Visual Studio。
更多信息请见下文link
How to show the "paste Json class" in visual studio 2012 when clicking on Paste Special?
有效JSON
{
"InfoList": {
"Name": " Sample String 1",
"URL": " Sample String2",
"Info": [
{
"ZIP": " Sample String3 ",
"status": "Sample String4"
}
]
}
}
所以你的class一定是这样的
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; }
}
您可以使用 http://json2csharp.com/ 在线工具从 json 数据字符串创建 c# class。只需复制您的 json 并获得 classes。