我的应用程序是用Asp.Net MVC3编写的,用C#编写。这就是我的要求。当我反序列化Json字符串时,我想要一个在下面的format.This对象中的对象。
var obj1 = new { arg1=1,arg2=2 };
使用以下代码后:
string str = "{\"Arg1\":\"Arg1Value\",\"Arg2\":\"Arg2Value\"}";
JavaScriptSerializer serializer1 = new JavaScriptSerializer();
object obje = serializer1.Deserialize<object>(str);
我得到的对象,即obje并不充当obj1
在本例中,我的JSON字符串是静态的,但实际上JSON字符串将在运行时动态生成,所以我不能一直获取Arg1和Arg2。
发布于 2012-04-27 21:10:54
我认为JavaScriptSerializer不会创建动态对象。
因此,您应该首先定义类:
class MyObj {
public int arg1 {get;set;}
public int arg2 {get;set;}
}
并将其反序列化,而不是object
serializer.Deserialize<MyObj>(str);
不是testet,请尝试。
发布于 2017-09-27 18:45:34
使用以下代码:
var result=JsonConvert.DeserializeObject<List<yourObj>>(jsonString);
发布于 2012-04-27 21:13:44
我相信你正在寻找这个:
string str = "{\"Arg1\":\"Arg1Value\",\"Arg2\":\"Arg2Value\"}";
JavaScriptSerializer serializer1 = new JavaScriptSerializer();
object obje = serializer1.Deserialize(str, obj1.GetType());
https://stackoverflow.com/questions/10350982
复制相似问题