使用 JObject 创建一个对象数组的语法是什么?

我正在为 Cosmos DB(基于文档或 JSON 的 DB)创建一个数据库播种器。一些 C# 模型有一个属性 Config,它是 JSON,所以我一直在使用这种类型的代码来设置该属性:


Config = JObject.FromObject(new { })

它的工作原理与在对象内实际设置属性一样:


Config = JObject.FromObject(new

{

  contextOptionSource = "$.domains.governmentEntityType_active"

}),

但是,我不知道如何将 Config 设置为对象数组。我实际上尝试使用 C# 模型,认为 JObject 会像这样为我转换它们:


Config = JObject.FromObject(

  new List<Question>

  {

    new Question

    {

      Key = "contact",

      Label = "Contact Person",

      HelpText = "",

      Config = JObject.FromObject(new {}),

      Type = "text",

      ContextTarget = "$.data.contact"

    },

    new Question

    {

      Key = "company",

      Label = "Company Name",

      HelpText = "",

      Config = JObject.FromObject(new {}),

      Type = "text",

      ContextTarget = "$.data.company"

    }

  }),

这编译好了,但是当我运行时,我收到一个运行时错误“对象序列化为数组。JObject 实例预期。”“我认为 JObject 应该将 C# 模型转换为 JSON 是错误的吗?如果它们必须是通用对象,那很好,但我无法获得正确的语法,即 FromObject 方法将接受此 Config 属性内的多个对象。


GCT1015
浏览 371回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP