【问题标题】:How to serialize an C# object to specific JSON如何将 C# 对象序列化为特定的 JSON
【发布时间】: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


【解决方案1】:

以以下格式装饰您的有效负载。 [ { “员工ID”:100, "EmployeeName": "Pradeep", “布局”: { "fillColor": "function(rowIndex){return'#5d5e5f';}", "hLineColor": "函数(i,node){return'#446b8e';}" } } ]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多