国产探花免费观看_亚洲丰满少妇自慰呻吟_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你用對沒有啊,最好去查下資料文檔。網絡粘貼,勉強看吧

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 顺义区| 阜康市| 江山市| 南投县| 桐庐县| 分宜县| 新营市| 冀州市| 神农架林区| 克山县| 绥阳县| 民和| 达尔| 衡阳县| 乌拉特后旗| 温宿县| 杨浦区| 万源市| 常熟市| 白玉县| 大荔县| 方山县| 灵璧县| 天台县| 淳化县| 阳朔县| 江门市| 南通市| 县级市| 罗平县| 花莲市| 天峨县| 怀安县| 项城市| 大洼县| 神池县| 丰镇市| 乌鲁木齐县| 绩溪县| 全南县| 云霄县|