C#中已经有JavaScriptSerializer类可以将json数据给反序列化为对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /// <summary> /// JSON文本转对象,泛型方法 /// </summary> /// <typeparam name=”T”>类型</typeparam> /// <param name=”jsonText”>JSON文本</param> /// <returns>指定类型的对象</returns> public static T JSONToObject<T>( string jsonText) { JavaScriptSerializer jss = new JavaScriptSerializer(); try { return jss.Deserialize<T>(jsonText); } catch (Exception ex) { throw new Exception(“JSONHelper.JSONToObject(): ” + ex.Message); } } |
但像我这样的懒人是不想事先定义好一个类的,我就是想直接解析客户端传过来的json数据,还是使用MSScriptControl.ScriptControl吧。
有了eval方法,想怎么搞就怎么搞
//构建scriptcontrol读取客户端传递过来的json数据
1 2 3 | MSScriptControl.ScriptControl sc = new MSScriptControl.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。
以上这篇使用MSScriptControl 在 C# 中读取json数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。