将复杂的json格式转换为Highchart组织结构图的C#类

问题描述 投票:1回答:1

我正在尝试为组织结构图(organogram)实现Highcharts JSON数据格式,对于asp.net MVC项目,它的确是反向的Sankey图。图表的series属性主要包含数据,节点和级别信息。我在StackOverflow或其他地方没有得到如此复杂的JSON格式示例。 JSON结构摘录如下-

{
//Some other Highcharts properties
series: [
 data: [
      ['Board', 'CEO'],
      ['CEO', 'CTO'],
      ['CEO', 'CMO'],
      ['CEO', 'HR'],
      ['CTO', 'Product'],
      ['CTO', 'Web'],
      ['CMO', 'Market']
 ],
 levels:[
      {
      level: 0,
      color: 'silver',
      dataLabels: {
        color: 'black'
      },
      height: 25
    }, 
    {
      level: 1,
      color: 'silver',
      dataLabels: {
        color: 'black'
      },
      height: 25
    }
//..more
 ],
 nodes:[
    {
      id: 'CEO',
      title: 'CEO',
      name: 'Grethe Hjetland',
      image: 'https://wp-assets.highcharts.com/www-highcharts-com/blog/wp-content/uploads/2018/11/12132317/Grethe.jpg'
    }, 
    {
      id: 'HR',
      title: 'HR/CFO',
      name: 'Anne Jorunn Fjærestad',
      color: '#007ad0',
      image: 'https://wp-assets.highcharts.com/www-highcharts-com/blog/wp-content/uploads/2018/11/12132314/AnneJorunn.jpg',
      column: 3,
      offset: '80%'
    }, 
    {
      id: 'CTO',
      title: 'CTO',
      name: 'Christer Vasseng',
      column: 4,
      image: 'https://wp-assets.highcharts.com/www-highcharts-com/blog/wp-content/uploads/2018/11/12140620/Christer.jpg',
      layout: 'hanging'
    }
//..more
 ]
]
//Rest of the Highcharts properties
}

您可以检查Highcharts文档-https://www.highcharts.com/docs/chart-and-series-types/organization-chart

主要是dataseries数组属性有问题。锯齿状阵列在这种情况下可以工作吗?我想levelsnodes属性将是对象列表的数组。那么最后如何在razor视图页面中实现该目标呢?

c# json asp.net-mvc highcharts
1个回答
0
投票

为什么使用锯齿数组?

锯齿状数组是一个元素为数组的数组。

这只是每个数据项的字符串列表,它将涵盖您的大多数问题。

json对象并不复杂。您只需为结构中的每个不同json数据类型创建一个C#类。

类似于以下内容。

public class Highchart {
    public Level levels;
}

public class Level {
    public List<string> data;
}
© www.soinside.com 2019 - 2024. All rights reserved.