C#中已经有JavaScriptSerializer类可以将json数据给反序列化为对象
代码如下 | 复制代码 |
/// /// JSON文本转对象,泛型方法 /// /// ///JSON文本 /// publicstaticT JSONToObject { JavaScriptSerializer jss =newJavaScriptSerializer(); try { returnjss.Deserialize } catch(Exception ex) { thrownewException(“JSONHelper.JSONToObject(): ” + ex.Message); } } |
但像我这样的懒人是不想事先定义好一个类的,我就是想直接解析客户端传过来的json数据,还是使用MSScriptControl.ScriptControl吧。
有了eval方法,想怎么搞就怎么搞
代码如下 | 复制代码 |
//构建scriptcontrol读取客户端传递过来的json数据 MSScriptControl.ScriptControl sc =newMSScriptControl.ScriptControl(); sc.Language=”JScript”; sc.AddCode(“var jsonObject=”+data );//data为提交的json文本 然后就可以根据json的结构用eval了,js里怎么写就怎么写。 如sc.Eval(“jsonObject.content.length”) sc.Eval(“jsonObject.itemValue”) |
要使用MSScriptControl需要引用com组件 Microsoft Script Control 1.0。