我正在尝试为组织结构图(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
主要是data
的series
数组属性有问题。锯齿状阵列在这种情况下可以工作吗?我想levels
和nodes
属性将是对象列表的数组。那么最后如何在razor视图页面中实现该目标呢?
为什么使用锯齿数组?
锯齿状数组是一个元素为数组的数组。
这只是每个数据项的字符串列表,它将涵盖您的大多数问题。
json对象并不复杂。您只需为结构中的每个不同json数据类型创建一个C#类。
类似于以下内容。
public class Highchart {
public Level levels;
}
public class Level {
public List<string> data;
}