c# - Deserialize JSON to Dictionary with DataContractJsonSerializer -
i receive next json result int response:
{"result": { "":-41.41, "abc":0.07, "xyz":0.00, "test":0.00 }} i've prepared next class deserializating:
[datacontract] public sealed class rpcresponse { [datamember(name = "result")] public list<keyvaluepair<string, decimal>> result { get; set; } } however when i'm tring deserialize datacontractjsonserializer result property ends having 0 entries. (also doesn't work when declaring result dictionary<string, decimal>)
is there way perform datacontractjsonserializer?
see so answer
define datacontract according json.
[datacontract] public class customobject { [datamember(name = "name")] public string name { get; set; } [datamember(name = "age")] public string age { get; set; } [datamember(name = "parent")] public dictionary<string, object> parent { get; set; } } use datacontract class while deserialization.
using (memorystream ms = new memorystream(encoding.utf8.getbytes(json))) { datacontractjsonserializersettings settings = new datacontractjsonserializersettings(); settings.usesimpledictionaryformat = true; datacontractjsonserializer serializer = new datacontractjsonserializer(typeof(customobject), settings); customobject results = (customobject)serializer.readobject(ms); dictionary<string, object> parent = results.parent; } c# .net json serialization .net-4.5
No comments:
Post a Comment