C#中解析javascript代码
来源:互联网 发布:登山装备品牌知乎 编辑:程序博客网 时间:2024/05/20 22:30
先上代码:
该类需要你添加对程序集 Microsoft.JScript 的引用;如果把“current version with JScriptCodeProvider” 部分代码替换为“deprecated version with Vsa”部分代码,你还需要添加对程序集 Microsoft.Vsa 的引用。
代码段末尾注释掉的部分是用 Microsoft.JScript.Vsa.VsaEngine 作为脚本引擎来完成 Evaluate 工作;但 VsaEngine (包括其所实现的 IVsaEngine 接口)在 .NET Framework 2.0 中已经被 deprecated ,所以如果你在新版本下编译的话,会得到如下的警告信息:“Microsoft.JScript.Vsa.VsaEngine”已过时:“Use of this type is not recommended because it is being deprecated in Visual Studio 2005; there will be no replacement for this feature. Please see the ICodeCompiler documentation for additional help.”
这样的 Evaluate 方法一个显而易见的用途就是解析 JSON 数据。 JSON 的数据格式实际上是 JavaScript 对象定义语法的子集,所以使用这个 Framework 所提供的脚本引擎来解析得到的 JSON 格式的数据就比自己写一个 Parser 来的轻松得多。比如:
- string jsStr =
- "( {'timeString':'Time is: ' + new Date(),'dateValue':new Date()} )";
- Microsoft.JScript.JSObject obj =
- (Microsoft.JScript.JSObject) JSEvaluator.EvalToObject(jsStr);
- MessageBox.Show(obj["timeString"].ToString());
- MessageBox.Show(obj["dateValue"].ToString());
- Microsoft.JScript.DateObject tmpV =
- (Microsoft.JScript.DateObject)obj["dateValue"];
- DateTime dt =
- (DateTime) Microsoft.JScript.Convert.Coerce(tmpV, typeof(DateTime));
- MessageBox.Show(dt.ToString());
只需要得到一个 JSObject ,就可以通过对象的 key 名访问到每一个变量。
- C#中解析javascript代码
- 在 C# 中执行 javascript 代码
- 在 C# 中执行 javascript 代码
- C#中使用MSScriptControl中执行 javascript代码
- JavaScript调用C#代码
- Javascript调用C#代码
- 歪门邪道——在C#代码中加入javascript
- 用 MSScriptControl 在 C# 中执行 javascript 代码
- .net中前台javascript与c#后台代码调用
- .net中前台javascript与c#后台代码调用
- .net中C#代码与javaScript函数的相互调用
- .net中前台javascript与c#后台代码调用
- javaScript函数中执行C#代码中的函数
- javaScript函数中执行C#代码中的函数:
- .net中C#代码与javaScript函数的相互调用
- JavaScript函数中执行C#代码中的函数
- c#中JavaScript与后台代码的相互调
- javaScript函数中执行C#代码中的函数
- Linux下配置安装NFS-ubuntu和 fc4
- vs2008安装 AjaxControlToolkit-Framework3.5
- 数据库语言:DDL,DML,DCL,TCL解析,比较
- 一款功能相当强大的WebOS[cnbeta,2010.4.9](朱佳峰)
- sqlserver2005使用convert转换日期
- C#中解析javascript代码
- 今天有开个技术博客的想法!
- blackberry BitmapField 加载图片路径问题
- MFC中获取命令行参数的几种方法
- DirectDraw
- JavaScript中confirm的用法
- 讯时构架设计
- C#反射实例讲解
- VB 学习汇总