internal static ThemeGraph FromJson(JsonObject json)
{
if (json == null) return null;
ThemeGraph themeGraph = new ThemeGraph();
themeGraph.BarWidth = json["barWidth"].GetNumberEx();
themeGraph.Flow = ThemeFlow.FromJson(json);
if (json["graduatedMode"].ValueType!= JsonValueType.Null)
{
themeGraph.GraduatedMode = (GraduatedMode)Enum.Parse(typeof(GraduatedMode), json["graduatedMode"].GetStringEx(), true);
}
else
{
//不处理null的情况
}
themeGraph.GraphAxes = ThemeGraphAxes.FromJson(json);
themeGraph.GraphSize = ThemeGraphSize.FromJson(json);
themeGraph.GraphSizeFixed = json["graphSizeFixed"].GetBooleanEx();
themeGraph.GraphText = ThemeGraphText.FromJson(json);
if (json["graphType"].ValueType != JsonValueType.Null)
{
themeGraph.GraphType = (ThemeGraphType)Enum.Parse(typeof(ThemeGraphType), json["graphType"].GetStringEx(), true);
}
else
{
//不处理null的情况
}
if (json["items"].ValueType != JsonValueType.Null)
{
List<ThemeGraphItem> graphItems = new List<ThemeGraphItem>();
foreach (JsonObject item in json["items"].GetArray())
{
graphItems.Add(ThemeGraphItem.FromJson(item));
}
themeGraph.Items = graphItems;
}
if (json["memoryKeys"].ValueType!= JsonValueType.Null)
{
List<int> memoryKeysLsit = new List<int>();
foreach (JsonObject item in json["memoryKeys"].GetArray())
{
memoryKeysLsit.Add((int)item.GetNumber());
}
themeGraph.MemoryKeys = memoryKeysLsit;
}
themeGraph.NegativeDisplayed = json["negativeDisplayed"].GetBooleanEx();
themeGraph.Offset = ThemeOffset.FromJson(json);
themeGraph.OverlapAvoided = json["overlapAvoided"].GetBooleanEx();
themeGraph.RoseAngle = json["roseAngle"].GetNumberEx();
themeGraph.StartAngle = json["startAngle"].GetNumberEx();
return themeGraph;
}
}