C#处理Json的另外一种方式成功实践_实用技巧

作者在原文中说明了通过C#调用Javascript来解析Json字符串的方法。代码如下:

复制代码 代码如下:

using Microsoft.JScript;
using Microsoft.Vsa;
using Microsoft.JScript.Vsa;
public static Dictionary<string, string> GetMyValue(string jsonSource, string key1, string key2)
{
Dictionary<string, string> dic = new Dictionary<string, string>();
string jsonStr = "function handleJson() {var j=" + jsonSource + ";var arr1=new Array();var arr2=new Array();for(var " + key2 + " in j." + key1 + ") arr1.push(" + key2 + "); return arr1;} handleJson(); ";
object o = Eval.JScriptEvaluate(jsonStr, VsaEngine.CreateEngine());
ArrayObject arr = (ArrayObject)o;
for (var i = 0; i <= (int)arr.length - 1; i++)
{
dic.Add(arr[i].ToString(), arr[i].ToString());
}
return dic;
}

大致就是这个样子,通过C#调用js,用Js解析Json,并将返回值转换为C#数组。

时间: 2024-09-20 05:44:32

C#处理Json的另外一种方式成功实践_实用技巧的相关文章

mvc form表单提交的几种形式整理总结_实用技巧

mvc中form表单提交的几种形式 第一种方式:submit 按钮 提交 <form action="MyDemand" method="post"> <span>关键字:</span> <input name="keywords" type="text" value="@keywords" /> <input type="submit&quo

基于NVelocity的几种内容生成方式汇总_实用技巧

使用NVelocity也有几个年头了,主要是在我的代码生成工具Database2Sharp上使用来生成相关代码的,不过NVelocity是一个非常不错的模板引擎,可以用来生成文件.页面等相关处理,非常高效和方便. 它原先是在网站http://nvelocity.sourceforge.net/ 上维护,不过从0.41后,该网站就不再进行NVelocity更新了,现在可以在网站http://nvelocity.codeplex.com/上获得最新版本的更新,接着版本的更新操作,我们把NVeloci

aspx后台传递Json到前台的两种接收方法推荐_实用技巧

第一种:前台接收 dataType: "json", success: function (data) { var varReceiver = data; } <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="echart2.aspx.cs" Inherits="RTC.echart2" %> <!DOCTYPE html&

ASP.NET 页面之间传递值方式优缺点比较_实用技巧

本题考查面试者对ASP.NET中多页面传值的理解是否全面.因为ASP.NET的页面表单提交到自身,完成回传的功能,所以默认情况下不能使用POST方式进行多页面传值.关于这些传值方式的分析如下所示.1.URL传值这是经典的传值方式,这种方法的使用非常简单,不过所传递的值是会显示在浏览器的地址栏上的,而且不能传递对象.所以这种方法一般用于传递的值少且安全性要求不高的情况下.在*.aspx页面开发中可以使用超级链接文本进行传值,如以下代码所示.<asp:HyperLink runat="serv

asp.net gridview中用checkbox全选的几种实现的区别_实用技巧

1.ext的grid Ext.grid.CheckboxColumn = function(config){ config.id = config.id || 'ck'; config.columnId = config.id || 'ck'; return Ext.applyIf(config||{},{ init:function(grid){ grid.on('cellclick', this.onCellClick, this); grid.on('headerclick',this.o

ASP.NET Get和Post两种提交方法浅析_实用技巧

复制代码 代码如下: < form id="form1" method="get" runat="server">       < div>  姓名字< asp:TextBox ID="name" runat="server">< /asp:TextBox>< br />                    你的网站< asp:TextBo

Json数据转换list对象实现思路及代码_实用技巧

JSON代码: 复制代码 代码如下: [{"cId":2,"cName":"\u767d\u841d\u535c","amount":26,"price":"17"},{"cId":3,"cName":"\u80e1\u841d\u535c","amount":21,"price":&qu

ASP.NET刷新页面的几种方法详解_实用技巧

第一种: 复制代码 代码如下: private void Button1_Click( object sender, System.EventArgs e )   {     Response.Redirect( Request.Url.ToString( ) ); } 第二种: 复制代码 代码如下: private void Button2_Click( object sender, System.EventArgs e )   {     Response.Write( "     <

Queryable.Union 方法实现json格式的字符串合并的具体实例_实用技巧

1.在数据库中以json字符串格式保存,如:[{"name":"张三","time":"8.592","area":"27.27033","conc":"4.12136"},{"name":"李四","time":"9.100","area":&qu