private void Deserialize() { arbol_JSON.Nodes.Clear(); JavaScriptSerializer js = new JavaScriptSerializer(); try { TreeNode rootNode = new TreeNode("Parametros"); arbol_JSON.Nodes.Add(rootNode); foreach (ParametroTO parametro in Sesion.MetodoActual.Parametros) { TreeNode nodoParametro = new TreeNode(string.Format("[{0}]", parametro.Nombre)); rootNode.Nodes.Add(nodoParametro); IJsonConverter converter = JsonConverterFactory.ObtenerJsonConverter(); try { parametro.Valor = converter.ToObject(parametro.Valor.ToString(), true); } catch { } Dictionary <string, object> dic = js.Deserialize <Dictionary <string, object> >(converter.ToJson(parametro)); BuildTree(dic, nodoParametro); } } catch (ArgumentException) { MessageBox.Show("JSON data is not valid", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }