在 C# 中,我通过使用这样的代码成功地将匿名对象序列化为 JSON...
var obj = new { Amount = 108, Message = "Hello" };
JavaScriptSerializer serializer = new JavaScriptSerializer();
String output = serializer.Serialize(obj);
但是,我希望稍后能够将 JSON 字符串反序列化回匿名对象。像这样的东西...
var obj2 = serializer.Deserialize(output, object);
但是serializer.Deserialize()方法需要第二个参数,它是它将反序列化到的对象的类型。
我试过这个...
var obj2 = serializer.Deserialize(output, obj.GetType());
但这会产生一个错误:
没有为 'f__AnonymousType0`2[[System.Int32,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.String,mscorlib,Version=4.0.0.0,Culture] 类型定义无参数构造函数=中性,PublicKeyToken = b77a5c561934e089]]'。
我不确定这个错误是什么意思。
动态怎么样,我看到最快的方法是这样的:
dynamic myObject = JsonConvert.DeserializeObject<dynamic>(output);
decimal Amount = Convert.ToDecimal(myObject.Amount);
string Message = myObject.Message;
笔记:
您将需要 Newtonsoft.json.dll 参考
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)