使用MSScriptControl 在 C# 中读取json数据

来源:互联网 发布:淘宝客服绩效管理 编辑:程序博客网 时间:2024/05/15 17:45

C#中已经有JavaScriptSerializer类可以将json数据给反序列化为对象

/// <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数据
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。

0 0