C#處理Json的另外一種方式成功實(shí)踐
更新時(shí)間:2013年01月25日 15:18:03 作者:
通過C#調(diào)用js,用Js解析Json,并將返回值轉(zhuǎn)換為C#數(shù)組,這種思路相信你沒有用過吧,試試也無妨啊,感興趣的你可千萬不要走開啊
作者在原文中說明了通過C#調(diào)用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;
}
大致就是這個(gè)樣子,通過C#調(diào)用js,用Js解析Json,并將返回值轉(zhuǎn)換為C#數(shù)組。
復(fù)制代碼 代碼如下:
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;
}
大致就是這個(gè)樣子,通過C#調(diào)用js,用Js解析Json,并將返回值轉(zhuǎn)換為C#數(shù)組。
您可能感興趣的文章:
- c#版json數(shù)據(jù)解析示例分享
- C#解析json文件的實(shí)現(xiàn)代碼
- asp.net(C#)解析Json的類代碼
- c#操作json示例分享
- c#處理3種json數(shù)據(jù)的實(shí)例
- C#實(shí)現(xiàn)json的序列化和反序列化實(shí)例代碼
- C#實(shí)現(xiàn)簡單的JSON序列化功能代碼實(shí)例
- C#實(shí)現(xiàn)任意數(shù)據(jù)類型轉(zhuǎn)成json格式輸出
- 自定義實(shí)現(xiàn)Json字符串向C#對象轉(zhuǎn)變的方法
- C#簡單快速的json組件fastJSON使用介紹
- C#解析JSON實(shí)例
相關(guān)文章
使用ASP.NET創(chuàng)建線程實(shí)例教程
這篇文章主要介紹了使用ASP.NET創(chuàng)建線程的方法,需要的朋友可以參考下2014-07-07
vb 中的MD5加密在asp.net中的實(shí)現(xiàn)
給定標(biāo)識哈希類型的密碼和字符串,該例程產(chǎn)生一個(gè)適合存儲在配置文件中的哈希密碼,感興趣的朋友可以參考下本文2013-04-04
asp.net創(chuàng)建XML文件的方法小結(jié)
這篇文章主要介紹了asp.net創(chuàng)建XML文件的方法,結(jié)合實(shí)例形式總結(jié)分析了asp.net創(chuàng)建XML文件的原理,步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-04-04
C#實(shí)現(xiàn)上傳照片到物理路徑,并且將地址保存到數(shù)據(jù)庫的小例子
這篇文章主要介紹了c#上傳圖片,并將地址保存到數(shù)據(jù)庫中的簡單實(shí)例,有需要的朋友可以參考一下2013-12-12
ASP.NET連接 Access數(shù)據(jù)庫的幾種方法
這篇文章主要介紹了ASP.NET連接 Access數(shù)據(jù)庫的幾種方法,每種方法都非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友一起學(xué)習(xí)吧2016-08-08
ASP.NET Core項(xiàng)目結(jié)構(gòu)教程(4)
這篇文章主要為大家詳細(xì)介紹了ASP.NET Core項(xiàng)目結(jié)構(gòu),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
.NET?Framework?的項(xiàng)目如何使用?FTP?下載文件
本文專門針對面向?.NET?Framework?的項(xiàng)目,?對于面向?.NET?6?及更高版本的項(xiàng)目,不再支持?FTP,此示例演示如何從?FTP?服務(wù)器下載文件,感興趣的朋友跟隨小編一起看看吧2024-01-01
Asp.Net Core添加請求頭自定義認(rèn)證的示例
這篇文章主要介紹了Asp.Net Core添加請求頭自定義認(rèn)證的示例,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下2021-04-04

