【发布时间】:2019-08-21 07:04:20
【问题描述】:
我想使用 Newtonsoft 将 C# 对象序列化为 JSON。我能够用属性序列化对象,但没有得到预期的 JSON。我尝试使用布局属性,但没有为我工作。
预期的 JSON:
[{"EmployeeID":100,"EmployeeName":"Pradeep","Layout":{"fillColor":function(rowIndex){return'#5d5e5f';},"hLineColor":function(i,node){return'#446b8e';}}}]
对象员工:
public class Employee
{
public int EmployeeID
{
get;
set;
}
public string EmployeeName
{
get;
set;
}
}
控制台类:
class Program
{
static void Main(string[] args)
{
List<Employee> lstemployee = new List<Employee>
{
new Employee()
{
EmployeeID = 100,
EmployeeName = "Pradeep",
}
};
string output = JsonConvert.SerializeObject(lstemployee);
Console.WriteLine(output);
Console.ReadLine();
}
}
它适用于 EmployeeID 和 EmployeeName 属性。 我得到的 JSON:
[{"EmployeeID":100,"EmployeeName":"Pradeep"}]
无法为布局属性获取 JSON。提前致谢。
【问题讨论】:
-
你不能(好吧,你可以,但你不应该); JSON 不序列化函数,只序列化数据见stackoverflow.com/questions/5373540/…
-
Layout在哪里?你试过什么? -
JSON 代表数据而不是类的行为。您不能将函数作为 JSON 结构的一部分。
-
#5d5e5f看起来像一个数据,可能只是创建一个字段并分配给它 -
为什么要序列化函数?
标签: c# json json.net json-serialization