国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

C# 語言如何獲取json格式的數據,不用javascript用c#實現。。。

2019-11-17 01:41:27
字體:
來源:轉載
供稿:網友

C# 語言如何獲取json格式的數據,不用javascript用c#實現。。。

{'state' : 1,'data':{'list':[{'id': 123, 'name': '諸葛天邪','level': 10,'country': 1,}]}}比如我要獲取里面的 id  該如何實現。

首先這個json串有幾個錯誤的地方

第一個非常重要的錯誤,json串里面只能用雙引號,不能用單引號,這個單雙引號表示的意思不是引號內是字符串,而是json的規定

第二個錯誤,json串內的逗號只能用英文的,不能用中文的

第三個錯誤,country之后的那個逗號去掉

再來說轉換問題

最簡單的方式是使用.net內置的JavascriptSerializer類,如圖所示

其中,JavaScriptSerializer.DeserializeObject轉換json串為object對象

如果這個json串以大括號包裹,這個object對象的實際類型就為Dictionary<string,object>

如果以中括號包裹,實際類型就為object[],而其中的object又為Dictionary<string,object>

所以如圖,就有很多次的轉換才能最終獲取id

推薦使用JavaScriptSerializer.Deserialize方法以及創建實體來解析json,就不需要多次轉換

具體做法請自行百度"JavaScriptSerializer"

這個錯誤說明你json串格式出錯字符串錯了。不過我現在不能用JavaScriptSerializer對象,現在服務器的.NetFrameWork是2.0的所以不支持。 我現在就換成用 Newtonsoft.Json.dll 這個程序集,但是在運行的時候出了個問題。不斷提示未將對象引用到實例,。

這是我現在的代碼,我用了Newtonsoft.Json.dll 轉換的時候獲得了對象里面有值。((((rusult as Dictionary<string, object>)["data"] as Dictionary<strin...就是在這條報的異常,

如果您要用Newtonsoft.Json.dll進行轉換,這個和微軟提供的JavaScriptSerializer的用法肯定是不一樣的所以不能通過原先我寫的那樣去獲取要像如圖獲取,附帶Newtonsoft.Json官方文檔中Linq to json的例子:
樓上的兄弟說得很透徹,不過json似乎沒有規定必須要雙引號哦,只要格式統一即可,不能雙引號單引號一起出現。這個dll你用對沒有啊,最好去查下資料文檔。網絡粘貼,勉強看吧

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长汀县| 顺平县| 长武县| 沂水县| 长沙市| 霸州市| 民勤县| 会同县| 新巴尔虎左旗| 上林县| 长宁区| 南阳市| 金沙县| 平乡县| 军事| 福海县| 沙田区| 长沙县| 沙湾县| 丰城市| 古交市| 石泉县| 二连浩特市| 石狮市| 永昌县| 特克斯县| 东辽县| 平乡县| 翼城县| 兴化市| 德兴市| 华宁县| 三都| 玉龙| 新乡市| 襄汾县| 浙江省| 启东市| 申扎县| 灵丘县| 隆德县|