一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - 淺談C#.NET、JavaScript和JSON

淺談C#.NET、JavaScript和JSON

2021-12-22 14:00失落の熊熊 C#

本文介紹了C#.NET、JavaScript和JSON的相關知識,具有很好的參考價值,下面跟著小編一起來看下吧

寫在前面

全部手打,沒有多余的話,全部干貨,基本上用到的我就記錄了。

一、什么是json

json:javascript object notation,是一種輕量級的數據交互格式,主要用于數據傳輸。

二、json語法規則

 1、數據由鍵值對(映射)關系表示,使用 “:” 表示;

   例子:"name" : "趙大"。

 2、數據之間使用 “,” 分隔;

  例子:"name" : "趙大", "age" : "27"。

 3、數據映射的集合(對象)用 “{}” 包含;

  例子:一條學生數據對象:

  {"id" : "1", "name" : "趙大", "age" : "27", "gender" : "男"}

 4、并列數據的集合(對象的數組形式)用 “[]”包含,之間用 “,”分隔;

  例子:兩條學生數據對象數組:

  [{"id" : "1", "name" : "趙大", "age" : "27", "gender" : "男"}, {"id" : "2", "name" : "錢二", "age" : "27", "gender" : "男"}]

三、json數據中的數據類型

  • 數字   (整數或者浮點數)
  • 字符串(在雙引號中)
  • 布爾值(true或false)
  • 數組   (在[]中)
  • 對象   (在{}中)
  • null

四、json格式數據的數據表現

  通過json的語法規則可知,json數據一般有以下幾種表現形式:

  1、單對象;

  2、對象集合(數組);

  3、1和2的組合:嵌套;

  4、純字符串;

五、c#.net與json

  在c#.net環境下有對json序列化和反序列化支持的組件,也有第三方的組件,

  .net支持的有 javascriptserializer 類和 datacontractjsonserializer 類,

  第三方支持的有 json.net(newtonsoft.json)等。

 1、使用 javascriptserializer 類對json數據序列化和反序列化:

  首先得在引用中引用:system.web.extentions.dll

  類文件中做引用:using system.web.script.serialization;  

?
1
2
3
4
5
6
7
8
9
10
11
dictionary<string, string> stu = new dictionary<string, string>();
      stu.add("id", "1");
      stu.add("name", "趙大");
      stu.add("age", "27");
      stu.add("gender", "男");
      javascriptserializer js = new javascriptserializer();
      string stujson = js.serialize(stu);
      console.writeline("使用 javascriptserializer 類序列化得到json格式數據:");
      console.writeline(stujson);
 
示例:json單對象序列化
?
1
2
3
4
5
6
7
8
9
10
string dejson = stujson;
      dictionary<string, string> destu = js.deserialize<dictionary<string, string>>(dejson);
      console.writeline("使用 javascriptserializer 類將json格式數據反序列化指定類:");
      foreach (string s in stu.keys)
      {
        console.writeline(s.tostring() + "=" + stu[s].tostring());
      }
      console.readline();
 
示例:json單對象反序列化

運行結果:

 淺談C#.NET、JavaScript和JSON

 2、使用第三方支持的 json.net(newtonsoft.json)類庫對json數據序列化和反序列化:

  參考地址:

六、javascript與json

 1、javascript中自定義json字符串并解析;

  例子:學生趙大信息:

?
1
2
3
4
function myjson() {
      var stu = { "id": "1", "name": "趙大", "age": "27", "gender": "男", "school": { "class": "03", "teacher": "趙大的老師" } };
      alert("id=" + stu.id + ", " + "name=" + stu.name + ", " + "age=" + stu.age + ", " + "gender=" + stu.gender);
    }

效果圖:

 淺談C#.NET、JavaScript和JSON

 可以看到自定義的json字符串后,在使用stu這個對象可以自動識別為成員變量了。

   2、從后臺傳入的json數據通過解析后轉化為json數據對象:

  例子:學生趙大信息(這里的ajax請求用jquery處理了):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(document).ready(function () {
      $.ajax({
        url: "ajaxweb.ashx",
        type: "get",
        datatype: "json",
        success: function (data) {
          var stu = json.parse(data);
          alert("id=" + stu.id + ", " + "name=" + stu.name + ", " + "age=" + stu.age + ", " + "gender=" + stu.gender + ", " + "teacher=" + stu.school["teacher"]);
        },
        error: function (e) {
          alert(e.tostring());
        }
      })
    })
 
從后臺獲取json字符串后轉化為json對象
?
1
2
3
4
5
6
7
8
9
10
11
12
13
public void processrequest(httpcontext context)
    {
      context.response.write(myjson2());
    }
    private string myjson2()
    {
      string json = " {\"id\": \"1\", \"name\": \"趙大\", \"age\": \"27\", \"gender\": \"男\", \"school\": { \"class\": \"03\", \"teacher\": \"趙大的老師\" }}";
      javascriptserializer js = new javascriptserializer();
      json = js.serialize(json);
      return json;
    }
 
后臺處理文件代碼

效果圖:

 淺談C#.NET、JavaScript和JSON

chrome下f12開發人員工具調試效果圖:

淺談C#.NET、JavaScript和JSON

七、參考資料

百度百科

百度搜索

慕課網(http://www.imooc.com/)

JSON在線校驗與排版美化(https://tool.zzvips.com

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持服務器之家!

原文鏈接:http://www.cnblogs.com/zhaosx/p/6364681.html

延伸 · 閱讀

精彩推薦
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
主站蜘蛛池模板: 精品久久久噜噜噜久久久app | 欧美精品一区视频 | 91粉色视频在线导航 | 暖暖暖免费观看在线观看 | 九九99亚洲精品久久久久 | 欧美在线视频一区二区 | 99视频精品全部 在线 | 国产99久久精品 | 亚洲国产精品综合久久一线 | 色多多在线观看视频 | 色综合中文字幕天天在线 | 蹭蹭妈妈的朋友小说 | 国产综合社区 | 高清国产在线观看 | 青青草原网 | 秘书在办公室疯狂被hd | 久久内在线视频精品mp4 | 5x社区发源地最新地址 | 成人免费观看网欧美片 | 91在线亚洲综合在线 | 国产三级自拍 | 欧美日韩亚洲一区二区三区在线观看 | 欧美精品一区二区三区免费 | 亚洲AV人无码综合在线观看蜜桃 | 五月丁香啪啪. | 欧美成人中文字幕在线看 | uoco福利姬网站 | 欧美xxxxx九色视频免费观看 | 久久免费国产 | 日韩免费在线视频观看 | chinese高中生gay男同 | 丰满艳妇亲伦视频 | 亚洲日日做天天做日日谢 | 女同videos双性人 | 欧美一区二区三区四区在线观看 | 免费aⅴ片 | 日韩美毛片 | 免费亚洲视频 | 国产精品久久久久久五月尺 | 97久久天天综合色天天综合色hd | 超碰97|