重塑JSON格式

本文关键字:格式 JSON 重塑 | 更新日期: 2023-09-27 18:15:06

我累了。我找不到解决办法,或者我自己根本做不到。我是c#新手,我不知道如何做到这一点。我尝试了几个方法,花了我一整天的时间。

现在的样子:

{
  "TimeStamp": "1406232939277",
  "Company": [
    {
      "Departments": [
        {
          "Name": "Customer Service",
          "Head": "John",
          "Teams": [
            {
              "Team": [
                {
                  "Person-1": "Mark",
                  "Person-2": "Tom",
                  "Person-3": "Bob"
                                },
                {
                  "Person-1": "Jean",
                  "Person-2": "Tyler",
                  "Person-3": "Beth"
                                }
                            ]
                        }
                    ]
                },
        {
          "Name": "IT Department",
          "Head": "Jones",
          "Teams": [
            {
              "Team": [
                {
                  "Person-1": "Stephanie",
                  "Person-2": "Ronald",
                  "Person-3": "Bruce"
                                },
                {
                  "Person-1": "Forest",
                  "Person-2": "Megan",
                  "Person-3": "Alex"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

应该是什么样子:

{
    "TimeStamp": "1406232939277",
    "Departments": [
        {
            "Name": "Customer Service",
            "Head": "John",
            "Teams": [
                {
                    "Person-1": "Mark",
                    "Person-2": "Tom",
                    "Person-3": "Bob"
                },
                {
                    "Person-1": "Jean",
                    "Person-2": "Tyler",
                    "Person-3": "Beth"
                }
            ]
        },
        {
            "Name": "IT Department",
            "Head": "Jones",
            "Teams": [
                {
                    "Person-1": "Stephanie",
                    "Person-2": "Ronald",
                    "Person-3": "Bruce"
                },
                {
                    "Person-1": "Forest",
                    "Person-2": "Megan",
                    "Person-3": "Alex"
                }
            ]
        }
    ]
}

我已经删除了所有的代码,它产生了坏的输出。我试着用Json.NETServiceStack.Text的例子和谷歌,但它超出了我的头。

有人告诉我我应该使用CustomCreationConverter,我试过了,我真的试过了,但我不能这样做,我浪费了一整天。

我如何重塑它?

编辑:

我想通过忽略Company元素并将Departments移到它的位置来简化输出。我还想对TeamsTeam数组做同样的事情,忽略其中一个,所以只有一个数组,而不是数组中的数组。

我试着反序列化并再次序列化它,但它不允许我"省略"Company,我尝试了[XmlIgnore]和其他。

重塑JSON格式

如果你想避免字符串操作,你可以

a)使用JSON反序列化JSON字符串。净

  OriginalClass m = JsonConvert.DeserializeObject<OriginalClass>(json); 

b)创建一个类transformmedclass,其中包含您想要序列化的字段

c)将值从原始对象复制到transformmedclass的实例

d)使用JSON序列化新实例。净

   string json = JsonConvert.SerializeObject(product);

*您可以使用VisualStudio中的PasteSpecial函数轻松创建OriginalClass类。编辑->粘贴特殊->粘贴JSON AS类