简单介绍C#.NET、JavaScript和JSON(图文)

黄舟
发布: 2017-03-23 11:49:29
原创
1650人浏览过

本文介绍了c#.net、javascriptjson的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧

写在前面

全部手打,没有多余的话,全部干货,基本上用到的我就记录了。

一、什么是JSON

JSON:JavaScript Object Notation,是一种轻量级的数据交互格式,主要用于数据传输。

立即学习Java免费学习笔记(深入)”;

二、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数据一般有以下几种表现形式:

Find JSON Path Online
Find JSON Path Online

Easily find JSON paths within JSON objects using our intuitive Json Path Finder

Find JSON Path Online30
查看详情 Find JSON Path Online

  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中文网其它相关文章!

相关标签:
java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号