[mono-android] DataContractJsonSerializer cannot convert to array.
Tomasz Cielecki
tomasz at ostebaronen.dk
Wed Jan 4 04:03:51 EST 2012
I am working with some JSON at the moment to get some simple strings
such as URLs into an object and have discovered a strange thing.
Consider the following code:
string json = "[\"Test1\",\"Test2\"]"; //Some dull json array
using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json)))
{
DataContractJsonSerializer serializer = new
DataContractJsonSerializer(typeof(string[]));
var item = serializer.ReadObject(ms);
}
This will throw an exception at serializer.ReadObject(ms) saying that
it cannot convert the source to the destination. This is possible in a
normal .NET environment.
If you change the type you want to convert to, to something like a
List or IEnumerable like this:
DataContractJsonSerializer serializer = new
DataContractJsonSerializer(typeof(IEnumerable<string>));
The Json gets converted just fine into a generic list.
Is this normal behaviour?
--
Med Venlig Hilsen / With Best Regards
Tomasz Cielecki
http://ostebaronen.dk
More information about the Monodroid
mailing list