zoukankan      html  css  js  c++  java
  • 数据类型和JSON格式

    https://segmentfault.com/a/1190000000668072#articleHeader7

    什么是JSON

    JSON:JavaScript 对象表示法(JavaScript Object Notation)。

    JSON的形式是用大括号“{}”包围起来的项目列表,每一个项目间用逗号(,)分隔,而项目就是用冒号(:)分隔的属性名和属性值。这是典型的字典表示形式,也再次表明javascript里的对象就是字典结构。不管多么复杂的对象,都可以用一句JSON代码来创建并赋值。在JSON中,名称/值对 包括字段名称(在双引号中),后面写一个冒号,然后是值

    JSON 结构

    JSON有两种结构

    json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构

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

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

    JSON 语法规则

    JSON 语法是 JavaScript 对象表示法语法的子集。

    数据在名称/值对中
    数据由逗号分隔
    花括号保存对象
    方括号保存数组
    

    JSON 值可以是:

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

    ​除以上6种外,再无其他,没有像js一样的undefined、NAN

    1) 并列的数据之间用逗号(", ")分隔。
    
    2) 映射用冒号(": ")表示。
    
    3) 并列数据的集合(数组)用方括号("[]")表示。
    
    4) 映射的集合(对象)用大括号("{}")表示。
    

    对象是一套无序的名/值对,一个对象以左边分支开始,以右边分支结束

    一个值可以是用双引号括起来的字符串,或者是一个数值,一个true or false ,一个数组或者一个对象

    JSON与对象字面量

    在编程语言中,字面量是一种表示值的记法。
    JSON规定键-值对中的必须用双引号! 引号。例如:

    {"first name" : "Mike"};
    

    JSON字符串中,不能使用函数或者正则表达式字面量

    数据类型:

    从结构上看,所有的数据(data)最终都可以分解成三种类型:

    第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词。
    
    第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如"北京,上海"。
    
    第三种类型是映射(mapping),也就是一个名/值对(Name/value),即数据有一个名称,还有一个与之相对应的值,这又称作散列(hash)或字典(dictionary),比如"首都:北京"。
    

    在编程语言中,只要有了数组(array)和对象(object)就能够储存一切数据了。

    数组和对象的另一个区别是,数组的数据没有"名称"(name),对象的数据有"名称"(name)。

    JavaScript中有5种简单数据类型(也称为基本数据类型):UndefinedNullBooleanNumberString。还有1种复杂数据类型——ObjectObject本质上是由一组无序的名值对组成的。

    对一个值使用typeof操作符可能返回下列某个字符串:

     
    "undefined"——如果这个值未定义;
    
    "boolean"——如果这个值是布尔值;
    
    "string"——如果这个值是字符串;
    
    "number"——如果这个值是数值;
    
    "object"——如果这个值是对象或null;
    
    "function"——如果这个值是函数;
  • 相关阅读:
    小记:xml画一个爱心。
    类似UC天气下拉和微信下拉眼睛头部弹入淡出UI交互效果(开源项目)。
    FloatingActionButton增强版,一个按钮跳出多个按钮--第三方开源--FloatingActionButton
    回调机制的实现。
    小记:使用SharedPreferences存储来设置程序第一次进入欢迎界面,以后不会再进入欢迎界面。
    小记:获取系统时间的long值,格式化成可读时间。
    写程序的欢迎界面(运用画图方法画圆球)。
    并发的HashMap为什么会引起死循环?
    zuul重试配置
    zuul超时问题
  • 原文地址:https://www.cnblogs.com/feng9exe/p/5913858.html
Copyright © 2011-2022 走看看