C#JSON.Net将一个列表中的项放入另一个

时间:2017-11-13 21:07:40

标签: c# json json.net scribe-workbench

我使用JSON.net在C#中创建了一个JSON。我的对象包含metadata部分。数据部分是一个JSON数组,其中包含其他JSON数组。我遇到的问题是我的主要数据实体。现在我将该实体的所有数据写在列表中。问题是我需要从列表中提取所有数据并将其移动到数据级别。以下是我现在正在输出的内容:

{
   "meta":
   {
      //meta info here.  This is static and formatted correctly.
   }
   "data":
   [
      {
        "main record data:"
        [
          {
            //Here is dynamically created data that I need to move.
          }
        ]
      }
   ]
}

我在C#中的对象有一个主类,它定义了我的JSON的元数据和数据部分。数据部分是List<DataModel>。其中包括我设置JSON数据部分中包含的每个部分的所有其他列表。我需要的清单是组织清单。这是浓缩模型:

public class JSONModel 
    {
        [JsonProperty(Order = 1)]
        public EntityProperties meta { get; set; }
        [JsonProperty(Order = 2)]
        public List<DataModel> data { get; set; }
    }
    public class DataModel
    {
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public List<EntityProperties> org { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public List<EntityProperties> addresses { get; set; }
    }

我需要输出的是:

{
   "meta":
   {
      //meta info here.  This is static and formatted correctly.
   }
   "data":
   [
      {
        //Here is dynamically created data from the org list.
      }
   ]
}

我使用的工具是SCRIBE Online,这是我正在构建的自定义连接器。这就是<EntityProperties>来自的地方。这就是他们提供给我的东西,然后我将它们传递到我的列表中,并将它们与label: data一起放入正确的JSON格式。如果组织实体将具有类似meta的静态字段,那么在我的选择中它将是简单的。我希望我可以将数据拉入JObject,然后将它们插回到我的数据部分的顶部,但这是我第一次使用JSON.net,我不确定我是否在正确的道路上。任何意见都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您应该只拥有List<DataModel>的单个对象,而不是拥有DataModel

如果你想组织你的&#34; org&#34;和&#34;地址&#34;然后创建一个类,该类包含对每个对象的单个对象的引用,然后在DataModel类中创建该类的列表。