【发布时间】:2021-11-28 06:57:56
【问题描述】:
这是我正在序列化的模型
public class SomeClassOne
{
public string name { get; set; }
public string Gender { get; set; }
public int Age { get; set; }
public List<Product> Products { get; set; }
public List<Location> locations { get; set; }
public string DOB { get; set; }
}
public class Product
{
public string Code { get; set; }
public string Price { get; set; }
}
public class Location
{
public string Address { get; set; }
public string PinCode { get; set; }
}
/我正在为该模型属性赋值
public List<Product> GetProducts()
{
List<Product> Products = new List<Product>();
string[] codes = { "Code-A", "Code-B", "Code-C","Code-D", "Code-E" };
foreach (var cod in codes)
{
Product product = new Product();
product.Code = cod;
Products.Add(product);
}
return Products;
}
public List<SomeClassOne> someClss()
{
List<SomeClassOne> someCls = new List<SomeClassOne();
SomeClassOne classOne = new SomeClassOne();
someCls.Add(classOne);
classOne.Products = GetProducts();
return someCls;
}
string json = JsonConvert.SerializeObject(someClss(), Formatting.Indented);
Console.WriteLine(json);
Console.ReadLine();
}
生成的Json如下
[
{
"name": null,
"Gender": null,
"Age": 0,
"Products": [
{
"Code": "Code-A",
"Price": null
},
{
"Code": "Code-B",
"Price": null
},
{
"Code": "Code-C",
"Price": null
},
{
"Code": "Code-D",
"Price": null
},
{
"Code": "Code-E",
"Price": null
}
],
"locations": null,
"DOB": null
}
]
如何删除 {} [] 并在序列化后生成如下 Json
[
{
"Code": "Code-A",
"Price": null
},
{
"Code": "Code-B",
"Price": null
},
{
"Code": "Code-C",
"Price": null
},
{
"Code": "Code-D",
"Price": null
},
{
"Code": "Code-E",
"Price": null
}
]
任何人请帮助我,我已经看到了一些合同解析器,但没有找到任何解决方案,在此先感谢。
【问题讨论】:
-
这很难理解,但看起来你只需要序列化一个
List<Product>的实例就可以了,其余的就不用管了。 -
使用 json 库你只需要得到产品结果:
returnvalue['Products'] -
@DavidG 是的,这个 List
在 SomeClassOne 和这个类中 -
是的,我是说你应该序列化
GetProducts()的结果而忘记其余的。 -
@DavidG 实际上,这个 SomeClassOne 又是另一个类中的 List 类型属性,它们是我实际上正在序列化的更大类的一部分,那么在这种情况下我该如何实现。跨度>
标签: c# json asp.net-mvc json-serialization