ho qualche codice di lavoro:Decode JSON oggetto in C# senza una preventiva conoscenza di tipo
String objstr = "{\"m_children\":[{\"m_children\":null,\"m_name\":\"child0\"},{\"m_children\":null,\"m_name\":\"child1\"}],\"m_name\":\"Root\"}";
byte[] byteArr = Encoding.ASCII.GetBytes(objstr);
MemoryStream ms = new MemoryStream(byteArr);
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Node));
Node obj = (Node)ser.ReadObject(ms);
cosa mi bug è che ho di conoscere il tipo di oggetto contenuto nella stringa prima di decodificarlo. Volevo inviare un oggetto codificato in JSON su una pipe TCP e non dover inviare ulteriori informazioni sul tipo di oggetto.
json può serializzare solo oggetti semplici. non puoi usare qualche altra forma di serializzazione che permetta la digitazione? – Einacio
[Dinamico?] (Http://msdn.microsoft.com/en-us/library/dd264736.aspx) @einacio, hanno chiesto espressamente di "non dover inviare ulteriori informazioni sul tipo di oggetto", che, dì, xsd sarebbe. – bzlm
così @Almo vuole scrivere magici su un linguaggio tipizzato statico. potrebbe inviare il tipo come dati extra in JSON, ma non so se C++ può creare oggetti usando stringhe invece di classname php-style – Einacio