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

C#JSON.Net将一个列表中的项目放入另一个列表中,c#,json,json.net,scribe-workbench,C#,Json,Json.net,Scribe Workbench,我在C#中使用JSON.net创建了一个JSON。我的对象包含元和数据部分。数据部分是一个JSON数组,其中包含其他JSON数组。我的问题是我的主要数据实体。现在,我已经将该实体的所有数据写入了一个列表中。问题是我需要从列表中提取所有数据并将其上移到数据级别。以下是我现在输出的内容: { "meta": { //meta info here. This is static and formatted correctly. } "data": [

我在C#中使用JSON.net创建了一个JSON。我的对象包含
数据
部分。数据部分是一个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的元数据和数据部分的主类。数据部分是一个
列表
。其中包括我的所有其他列表,用于设置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; }
    }

我使用的工具是SCRIBE Online,这是我正在构建的自定义连接器。这就是
的来源。这就是它们提供给我的,然后我将它们传递到我的列表中,然后它将它们转换为带有
label:data
的正确JSON格式。如果组织实体将有静态字段,比如meta,那么在我看来就很简单了。我希望我可以将数据拉入JObject,然后将它们插入到我的数据部分的顶部,但这是我第一次使用JSON.net,我不确定我是否走上了正确的道路。任何输入都将不胜感激。

不要有
列表
,你应该只有一个
数据模型的对象


如果您想将“组织”和“地址”组织到单个对象实例中,则创建一个类,该类包含对每个对象的单个对象的引用,然后在
数据模型
类中创建该类的列表。

在这种情况下,可以有多个数据节。在meta部分中指定。所以我需要一个列表数据模型。每个数据模型首先有大约40个属性的组织数据。这40个属性并不总是被发送。我们可以发送1、5、20或40。我将它加载到一个列表中,然后发现API不喜欢在它前面有org标记,并包含[]。至于地址,它需要是一个列表,因为一个组织可以有多个地址,这是接收api希望它的结构。好的,您可以创建数据模型来保存一个新类的列表,比如OrgClass,它保存实际组织的单个EntityProperties对象和该组织包含的地址列表?数据模型的问题在于,原始数据集中有2个列表,这将在原始(数据)数组中生成2个JSON数组。据我所知,这不是我们想要的。如果需要单个对象数组,则必须使DataModel仅包含单个对象引用。对于每个列表,JSON.Net都会创建一个新数组。也就是说,我会放弃创建OrgClass,让datamodel为Org和地址列表保存一个对象。我按照您所说的做了,现在它只是EntityProperty,并从中删除了[]。我现在从api收到无效消息400错误请求。这似乎是由于{}仍然存在的“org”造成的。差不多了。你能用新的JSON格式更新你的问题吗?听起来你好像在尝试反序列化JSON并创建一个新对象。看看这个问题
{
   "meta":
   {
      //meta info here.  This is static and formatted correctly.
   }
   "data":
   [
      {
        //Here is dynamically created data from the org list.
      }
   ]
}