简体   繁体   English

如何将 Jsonconvert 与多个节点和节点数组一起使用

[英]how to use Jsonconvert with multiple nodes and arrays of nodes

At the moment, I can retrieve database values via datasets and put them in a basic JSON format with the JSONCOnvert.serialize() in c#, but I need to generate all the section titles, divisions, arrays within arrays, etc. Each section would be a class and list of class?目前,我可以通过数据集检索数据库值,并使用 c# 中的 JSONCOnvert.serialize() 将它们放入基本的 JSON 格式,但我需要生成所有部分标题、分区、数组中的数组等。每个部分都会是一个班级和班级列表? But how do i make the section titles and the title "mainSection", and the arrays within the values like the different clients?但是我如何制作部分标题和标题“mainSection”,以及像不同客户端一样的值中的数组?

Currently not using Newton.目前不使用牛顿。

I need to generate a file like such from database values:我需要从数据库值生成这样的文件:

{
  "mainSection": [
    {
      "section1":
        [
          "curr_month"  : "February",
          "curr_year"   : "2018",
          "todays_date" : "02-02-2018",
          "dates" :
            [
                "29",
              "30",
              "31",
              "01",
              "02",
              "03",
              "04"
            ]

        ]
    },
    {
      "section2" :
        [
          "date_range_start" : "02-01-2018", //the range for kpi's is always from the 1st day of the month through yesterday
          "date_range_end" : "02-01-2018"
        ]
    },
    {
      "section3" :
        [
          "date_range_start" : "2-1-2018",
          "date_range_end" : "2-28-2018",
          "title" :
            {
              "count" : "225",
              "percentage" : "0"
            },
          "asecondtitle" :
            {
              "count" : "2645233",
              "percentage" : "9"
            },
          "athirdtitle" :
            {
              "count" : "437371",
              "percentage" : "7"
            }
        ]
    },
    {
      "section4" :
        [
          "title" : "Today'",
          "total_tile_count" : 4,
          "listofclients" :
            [
              {
                 "client_id" : "123456" 
                "type" : "walkin",
                "otherdata" : 13,
                "client_name" : "Client P0opyface",
                 "appointment_times":
                [
                    {
                        "scheduled_room" : "Room A", //sometimes they change operating rooms within the same day
                        "start_time" : "07:00",
                        "end_time" : "07:15"
                    },
                    {
                        "scheduled_room" : "Room B",
                        "start_time" : "07:15",
                        "end_time" : "07:30"
                    },
                    {
                        "scheduled_room" : "Room C",
                        "start_time" : "07:30",
                        "end_time" : "07:45"
                    }                   
                ]
              },
              {
                  "client_id" : "789" 
                "type" : "walkin",
                "otherdata" : 13,
                "client_name" : "Client Stinkyface",
                 "appointment_times":
                [
                    {
                        "scheduled_room" : "Room D", //sometimes they change operating rooms within the same day
                        "start_time" : "07:00",
                        "end_time" : "07:15"
                    },
                    {
                        "scheduled_room" : "Room E",
                        "start_time" : "07:15",
                        "end_time" : "07:30"
                    },
                    {
                        "scheduled_room" : "Room F",
                        "start_time" : "07:30",
                        "end_time" : "07:45"
                    },
{
                        "scheduled_room" : "Room G",
                        "start_time" : "08:30",
                        "end_time" : "08:45"
                    }                   
                ]
              },
              {
                "client_id" : "8675309" 
                "type" : "repeat",
                "otherdata" : 13,
                "client_name" : "Client Donkeybutt",
                 "appointment_times":
                [
                    {
                        "scheduled_room" : "Room H", //sometimes they change operating rooms within the same day
                        "start_time" : "07:00",
                        "end_time" : "07:15"
                    },
                    {
                        "scheduled_room" : "Room I",
                        "start_time" : "07:15",
                        "end_time" : "07:30"
                    }
                ]
              }
            ]
        ]
    }

  ]

}

I have never seen such format, and I'm not able to create one either :我从未见过这样的格式,我也无法创建一个:

{
    "section1": [
        "curr_month" : "February",
        "curr_year" : "2018",
        "todays_date" : "02-02-2018"
    ]
}

So, either you mean this :所以,你的意思是:

{
    "section1": {
        "curr_month": "February",
        "curr_year": "2018",
        "todays_date": "02-02-2018"
    }
}

when the property "section1" is a User Defined Class, OR a Dictionary当属性“section1”是用户定义类或字典时

Or this :或这个 :

{
    "section1": [
        {
            "curr_month": "February",
            "curr_year": "2018",
            "todays_date": "02-02-2018"
        }
    ]
}

when the property "section1" is an array of a User Defined Class OR a Dictionary当属性“section1”是用户定义类或字典的数组时

So, if this is a typo by accident, I would say using one well constructed class is your best choice, unless if this JSON format is exactly what you really want.因此,如果这是一个偶然的错字,我会说使用一个构造良好的类是您的最佳选择,除非这种 JSON 格式正是您真正想要的。 In that case, as far as I know, you may construct the format by using string concatenation.在这种情况下,据我所知,您可以使用字符串连接来构造格式。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM