diff --git a/TinCan/ContextActivities.cs b/TinCan/ContextActivities.cs index e329cd7..d94ce03 100644 --- a/TinCan/ContextActivities.cs +++ b/TinCan/ContextActivities.cs @@ -35,29 +35,60 @@ public ContextActivities(JObject jobj) if (jobj["parent"] != null) { parent = new List(); - foreach (JObject jactivity in jobj["parent"]) { - parent.Add((Activity)jactivity); + if(jobj["parent"].Type == JTokenType.Array) + { + foreach (JObject jactivity in jobj["parent"]) { + parent.Add((Activity)jactivity); + } + } + else + { + parent.Add((Activity)jobj["parent"]); } } if (jobj["grouping"] != null) { grouping = new List(); - foreach (JObject jactivity in jobj["grouping"]) { - grouping.Add((Activity)jactivity); + if (jobj["grouping"].Type == JTokenType.Array) + { + foreach (JObject jactivity in jobj["grouping"]) + { + grouping.Add((Activity)jactivity); + } + } + else + { + grouping.Add((Activity)jobj["grouping"]); } } if (jobj["category"] != null) { category = new List(); - foreach (JObject jactivity in jobj["category"]) { - category.Add((Activity)jactivity); + if (jobj["category"].Type == JTokenType.Array) + { + foreach (JObject jactivity in jobj["category"]) + { + category.Add((Activity)jactivity); + } + } + else + { + category.Add((Activity)jobj["category"]); } } if (jobj["other"] != null) { other = new List(); - foreach (JObject jactivity in jobj["other"]) { - other.Add((Activity)jactivity); + if (jobj["other"].Type == JTokenType.Array) + { + foreach (JObject jactivity in jobj["other"]) + { + other.Add((Activity)jactivity); + } + } + else + { + other.Add((Activity)jobj["other"]); } } }