2

我有一个使用 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>来源。这就是他们提供给我的内容,然后我只需将它们传递到我的列表中,它就会将它们放入正确的 JSON 格式和label: data. 如果组织实体将具有像元这样的静态字段,那么在我看来这很简单。我希望我可以将数据提取到 JObject 中,然后将它们重新插入到我的数据部分的顶部,但这是我第一次使用 JSON.net,我不确定我是否走在正确的道路上。任何投入将不胜感激。

4

1 回答 1

0

而不是一个List<DataModel>你应该只有一个对象DataModel.

如果您想将您的“组织”和“地址”组织成单个对象实例,那么创建一个包含对每个对象的单个对象的引用的类,然后在您的DataModel类中创建该类的列表。

于 2017-11-13T21:19:36.643 回答