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"——如果这个值是函数;
  • 相关阅读:
    欧拉公式
    isap的一些想法
    错误合集
    Hello World
    PAT (Advanced Level) Practice 1068 Find More Coins
    PAT (Advanced Level) 1087 All Roads Lead to Rome
    PAT (Advanced Level) 1075 PAT Judge
    PAT (Advanced Level) 1067 Sort with Swap(0, i)
    PAT (Advanced Level) 1017 Queueing at Bank
    PAT (Advanced Level) 1025 PAT Ranking
  • 原文地址:https://www.cnblogs.com/feng9exe/p/5913858.html
Copyright © 2011-2022 走看看