public ArrayList GetArrayList(ArrayNode arrayNode) { ArrayList arrayList = new ArrayList(); foreach (var item in arrayNode.Values) { if (item is ListKeyValueNode) { // has key, value var listKeyvalueNodeParser = new ListKeyValueNodeParser(); var listKeyvalueNode = listKeyvalueNodeParser.GetDictionary(item as ListKeyValueNode); arrayList.Add(listKeyvalueNode); } else if (item is ArrayNode) { var arrayNodeParser = new ArrayNodeParser(); var innerArrayList = arrayNodeParser.GetArrayList(item as ArrayNode); arrayList.Add(innerArrayList); } else if (item is ValueNode) { var ValueNodeParser = new ValueNodeParser(); var value = ValueNodeParser.GetDictionaryValue(item as ValueNode); arrayList.Add(value); } else { throw new Exception(); } } return(arrayList); }
public ArrayNode GetArrayNode(ArrayList arrayList) { List <INode> nodes = new List <INode>(); int counter = 0; foreach (var item in arrayList) { if (item is Dictionary <string, object> ) { // has key, value var listKeyvalueNodeParser = new ListKeyValueNodeParser(); var listKeyvalueNode = listKeyvalueNodeParser.GetKeyValueNodes(item as Dictionary <string, object>, counter); nodes.Add(listKeyvalueNode); } else if (item is ArrayList) { // array that does not have a key var arrayNodeParser = new ArrayNodeParser(); var arrayNode = arrayNodeParser.GetArrayNode(item as ArrayList); nodes.Add(arrayNode); } else if (item is object) { var ValueNodeParser = new ValueNodeParser(); var valueNode = ValueNodeParser.GetValueNode(item as object); nodes.Add(valueNode); } else { throw new Exception(); } counter++; } var ArrayNode = new ArrayNode() { Values = nodes, }; return(ArrayNode); }