Soy completamente nuevo en C# y ya me he dado un dolor de cabeza. Sé que esto es probablemente algo de niños para ti, pero he pasado más de una hora buscando en Google y parece que no puedo resolverlo.cómo convertir una matriz con claves/valores a JSON C#
Todo lo que intento hacer es convertir una matriz en JSON. Sé PHP bien, así que aquí está un ejemplo de lo que estoy tratando de hacer (en PHP):
$myarr=array("key1"=>"value for key 1","key2"=>"value for key 2");
$jsonArray=json_encode($myarr);
por lo $jsonArray
habrá: {"key1":"value for key 1","key2":"value for key 2"}
Ahora, estoy tratando de hacer exactamente eso, pero en C#.
Esto es lo que tengo hasta ahora:
String[] keys = new String[] { "emailSend","toEmail"};
String[] values = new String[] {textBox2.Text,textBox1.Text};
JavaScriptSerializer js = new JavaScriptSerializer();
string json = js.Serialize(keys);//final json result
MessageBox.Show(json);//show me
Estoy usando Visual Studio C# 2010, que está lanzando este error (con el código anterior):
The type or namespace name 'JavaScriptSerializer' could not be found (are you missing a using directive or an assembly reference?)
Ideas en ¿Qué estoy haciendo mal aquí? Gracias
Esto está en System.Web.Extensions.dll en caso de que no lo tiene cargado como referencia (es decir, un proyecto de Windows Forms o WPF no lo tendría por defecto). Puede optar por usar algo como [fastJSON] (http://www.codeproject.com/Articles/159450/fastJSON). Serializar objetos es aún más fácil y más rápido que usar JavaScriptSerializer. – erodewald
Ahora obtengo el error: 'El tipo o el nombre del espacio de nombres 'Script' no existe en el espacio de nombres 'System.Web' (¿falta una referencia de ensamblado?)' Gracias xD –
@nav_nav Hmm, extraño. ¿Estás usando pre .NET 3.5? – mattytommo