簡單介紹C#.NET、JavaScript和JSON(圖文)

黄舟
發布: 2017-03-23 11:49:29
原創
1431 人瀏覽過

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

#寫在前面

##全部手打,沒有多餘的話,全部乾貨,基本上用到的我就記錄了。 Notation,是一種輕量級的資料互動格式,主要用於資料傳輸。映射)關係表示,使用“:” 表示;

   範例:"name" : "趙大"。 #  範例:"name" : "趙大", "age" : "27"。一學生資料物件:

  {"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;  

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单对象序列化
登入後複製
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单对象反序列化
登入後複製

運行結果:

 

 2、使用第三方支援的Json.net(newtonsoft.json)

類別庫

對JSON資料序列化和反序列化:

六、JavaScript與JSON

 

#1、JavaScript中自訂JSON字串並解析;


#都範例:學生趙大資訊:

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);
    }
登入後複製

效果圖:

 

 可以看到自訂的JSON字串後,在使用stu這個物件可以自動辨識為成員變數

了。

  

2、從後台傳入的JSON資料透過解析後轉換為JSON資料物件:

########  範例:學生趙大資訊(這裡的Ajax請求用###JQuery###處理了):###
$(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对象
登入後複製
##########
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;
    }

后台处理文件代码
登入後複製
###效果圖:###### ########## Chrome下F12開發人員工具除錯效果圖:#############

以上是簡單介紹C#.NET、JavaScript和JSON(圖文)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!