public override T Parse <T>(string json) { var parsedResponce = new GoogleTableResponce() { table = GoogleTable.Parse(json) }; return(parsedResponce as T); }
public static GoogleTable Parse(string json) { var table = new GoogleTable(); JSONNode jNode = JSONNode.Parse(json); table.range = jNode["range"]; table.majorDimension = (MajorDimension)Enum.Parse(typeof(MajorDimension), jNode["majorDimension"]); var valuesNode = jNode["values"]; if (table.majorDimension == MajorDimension.COLUMNS) { for (int i = 0; i < valuesNode.Count; i++) { var columnNode = valuesNode[i]; var column = new GoogleTableColumn(); for (int j = 0; j < columnNode.Count; j++) { var value = columnNode[j]; column.rows.Add(value); } table.columns.Add(column); } } else { for (int i = 0; i < valuesNode.Count; i++) { var rowNode = valuesNode[i]; var row = new GoogleTableRow(); for (int j = 0; j < rowNode.Count; j++) { var value = rowNode[j]; row.columns.Add(value); } table.rows.Add(row); } } return(table); }