zoukankan      html  css  js  c++  java
  • JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式

    JSON

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

    它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。

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

    这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

    JSON 语法

    JSON 语法是 JavaScript 语法的子集。

    JSON 语法规则

    JSON 语法是 JavaScript 对象表示语法的子集。
    • 数据在名称/值对中
    • 数据由逗号分隔
    • 花括号保存对象
    • 方括号保存数组

    JSON 名称/值对

    JSON 数据的书写格式是:名称/值对。
    名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:
    "firstName":"John"

     这很容易理解,等价于这条 JavaScript 语句:

    firstName="John"

    JSON 值

    JSON 值可以是:
    • 数字(整数或浮点数)
    • 字符串(在双引号中)
    • 逻辑值(true 或 false)
    • 数组(在方括号中)
    • 对象(在花括号中)
    • null

    基础结构

    JSON[1] 结构有两种结构[2] 
     
    json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构
     
    1、对象:
    对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,
    在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,
    取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
     
    2、数组:
    数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],
    取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。
     
    经过对象、数组2种结构就可以组合成复杂的数据结构了。

    JSON

    JSONJavaScript Object Notation)是一种由道格拉斯·克罗克福特构想设计、轻量级的数据交换语言,以文字为基础,且易于让人阅读。

    尽管JSON是Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。

    JSON格式是1999年《JavaScript Programming Language, Standard ECMA-262 3rd Edition》的子集合,

    所以可以在JavaScript以eval()函数(javascript通过eval()调用解释器)读入。

    不过这并不代表JSON无法使用于其他语言,事实上几乎所有与网页开发相关的语言都有JSON库。

    JSON用于描述数据结构,有以下形式存在。

    • 对象 (object):一个对象以“{”开始,并以“}”退出。一个对象包含一系列非排序的名称/值对,每个名称/值对之间使用“,”分区。
    • 名称/值(collection):名称和值之间使用“:”隔开,一般的形式是:
    {name:value}

    一个名称是一个字符串;
    一个值可以是一个字符串,一个数值,一个对象,一个布尔值,一个有序列表,或者一个null值。

    • 值的有序列表(Array):一个或者多个值用“,”分区后,使用“[”,“]”括起来就形成了这样的列表,形如:
    [collection, collection]
    • 字符串:以""括起来的一串字符。
    • 数值:一系列0-9的数字组合,可以为负数或者小数。还可以用“e”或者“E”表示为指数形式。
    • 布林值:表示为 true 或者 false。

    在很多语言中它被解释为数组。

  • 相关阅读:
    my first blog
    iFrame 父子窗口通讯
    关于手机端横屏竖屏问题
    IE环境规定div高度必须大于字体高度的问题
    adMob的旋转方法
    影响一个UIView是否能正常显示的几个因素
    iphone编译时的注意事项
    Cocos2d的字体生成软件Hiero v2.0 Bitmap Font Tool的一些问题
    编写Web前端代码的注意事项
    Cocos2d的SpriteSheet在多层图片时出现的问题
  • 原文地址:https://www.cnblogs.com/shangdawei/p/4072705.html
Copyright © 2011-2022 走看看