• 关于Json的总结


    一、什么是Json?

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。

    同时也方便了机器进行解析和生成。它是基于 JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999

    的一个子集。 JSON采用完全独立于程序语言的文本格式,但是也使用了类C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。

    这些特性使JSON成为理想的数据交换语言。

    Json的两种结构

    1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。

    例如:var user = {"name":"Manas","gender":"Male","birthday":"1987-8-8"}

    2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。

    例如:var userlist = [

    {"user":{"name":"Manas","gender":"Male","birthday":"1987-8-8"}},

    {"user":{"name":"Mohapatra","Male":"Female","birthday":"1987-7-7"}}

    ]

    二、Json的用途

    主要用于数据的传输,还可以作为程序的配置文件。

    三、C#中操作Json

    1、Json序列化

    public string GetJsonString()

    {

    List products = new List(){

    new Product(){Name="苹果",Price=5.5},

    new Product(){Name="橘子",Price=2.5},

    new Product(){Name="干柿子",Price=16.00}

    };

    ProductList productlist = new ProductList();

    productlist.GetProducts = products;

    //return new JavaScriptSerializer().Serialize(productlist));

    return JsonConvert.SerializeObject(productlist);

    }

    public class Product

    {

    public string Name { get; set; }

    public double Price { get; set; }

    }

    public class ProductList

    {

    public List GetProducts { get; set; }

    }

    生成结果:{"GetProducts":[{"Name":"苹果","Price":5.5},{"Name":"橘子","Price":2.5},{"Name":"柿子","Price":16}]}

    2、Json反序列化

    string json = @"{

    'Name': 'Bad Boys',

    'ReleaseDate': '1995-4-7T00:00:00',

    'Genres': [

    'Action',

    'Comedy'

    ]

    }";

    Movie m = JsonConvert.DeserializeObject(json);

    string name = m.Name; //name 为 Bad Boys

    四、Json和Xml的比较

    XML

    1)应用广泛,可扩展性强,被广泛应用各种场合

    2)读取、解析没有JSON快

    3)可读性强,可描述复杂结构

    JSON

    1)结构简单,都是键值对。

    2)读取、解析速度快,很多语言支持

    3)传输数据量小,传输速率大大提高

    4)描述复杂结构能力较弱

    JavaScript、PHP等原生支持,简化了读取解析。成为当前互联网时代普遍应用的数据结构

    欢迎关注我的公众号(同步更新文章):DoNet技术分享平台

    阅读原文

  • 相关阅读:
    十一作业
    11.20
    11.13 第十二次、
    11.13 第十一次、
    11.06第十次、
    11.06第九次、
    10.30
    10.23
    10.16
    10.9
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12352776.html
Copyright © 2020-2023  润新知