zoukankan      html  css  js  c++  java
  • Json简介入门

     

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。相比XML,他更易于人阅读和编写,它是JavaScript的一个子集。 JSON采用完全独立于语言的文本格式,可以在流行的语言中使用,比如C# Java C++ VB。这些特性使JSON成为理想的数据交换语言。

    一、Json的构建结构

        1. “/对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典dictionary),哈希表hash table),有键列表(keyed list),或者关联数组 associative array)。

      2. 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

    这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

    二、JSon具体表现形式

    1、对象是一个无序的“‘/集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个名称后跟一个“:”(冒号);“‘名称/之间使用“,”(逗号)分隔。

      

    2、数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

      

    3、值(value)可以是双引号括起来的字符(string)、数值(number)truefalse null、对象(object)或者数组(array)。这些结构可以嵌套。

      

     

    4、字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。 字符串(string)与C或者Java的字符串非常相似。

      

    5、数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

    三、JSonNet中应用

    JSON.Net类库(http://json.codeplex.com/)提供了转化实体类为Json格式数据的能力,即序列化和反序列化,同样提供了JSON To Linq的功能,下面是实例代码:

    Product product = new Product();

     

    product.Name = "Apple";

    product.Expiry = new DateTime(2008, 12, 28);

    product.Price = 3.99M;

    product.Sizes = new string[] { "Small", "Medium", "Large" };

     //序列化为JSON格式数据

    string output = JsonConvert.SerializeObject(product);

    //{

    //  "Name": "Apple",

    //  "Expiry": "\/Date(1230375600000+1300)\/",

    //  "Price": 3.99,

    //  "Sizes": [

    //    "Small",

    //    "Medium",

    //    "Large"

    //  ]

    //}

     //反序列化为实体类对象

    Product deserializedProduct = JsonConvert.DeserializeObject<Product>(output);

     

     

    参考:

    http://www.json.org/

    http://baike.baidu.com/view/136475.htm?fr=ala0_1_1

    作者:酷客多小程序

    出处: http://www.cnblogs.com/ywqu

    如果你认为此文章有用,请点击底端的【推荐】让其他人也了解此文章,

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    CentOS yum 安装svn1.8
    js 替换掉汉字 和替换非汉字 比较时间JS
    PhpStorm 10 破解
    html中link的用法
    CSS3:nth-child()伪类选择器
    提示的小三角
    css 高度自适应
    <input type="file" />浏览时只显示指定文件类型
    MySQL查询表内重复记录
    扒站小工具
  • 原文地址:https://www.cnblogs.com/ywqu/p/1828496.html
Copyright © 2011-2022 走看看