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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#JSON.Net将项目放在另一个列表中相关的知识,希望对你有一定的参考价值。

我有一个JSON,我使用JSON.net在C#中创建。我的对象包含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,我不确定我是否在正确的道路上。任何投入将不胜感激。

答案

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

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

以上是关于C#JSON.Net将项目放在另一个列表中的主要内容,如果未能解决你的问题,请参考以下文章

如何将列表视图放在片段中

是否可以将一个对象从一个片段发送到另一个片段?

如何将列表视图中的数据从一个片段发送到另一个片段

Android - 如何将一个片段放在另一个片段上

从另一个活动返回后如何恢复活动中最后打开的片段

NSURLErrorDomain 中代码的含义是啥?