当前位置: 首页 > news >正文

JSON 数据类型

JSON 数据类型

JSON 格式支持以下数据类型:

类型描述
数字型(Number)JavaScript 中的双精度浮点型格式
字符串型(String)双引号包裹的 Unicode 字符和反斜杠转义字符
布尔型(Boolean)true 或 false
数组(Array)有序的值序列
值(Value)可以是字符串,数字,true 或 false,null 等等
对象(Object)无序的键:值对集合
空格(Whitespace)可用于任意符号对之间
null

数字型

  • JavaScript 中的双精度浮点型格式,取决于实现。
  • 不能使用八进制和十六进制格式。
  • 在数字中不能使用 NaN 和 Infinity。

下表展示了数字类型:

类型描述
整形(Integer)数字1-9,0和正负数
分数(Fraction)分数,比如 .3,.9
指数(Exponent)指数,比如 e,e+,e-,E,E+,E-

语法:

var json-object-name = { string : number_value, .......}

示例:

下面的示例展示了数字类型,其值不应该使用引号包裹:

var obj = {marks: 97}

字符串型

  • 零个或多个双引号包裹的 Unicode 字符以及反斜杠转义序列。
  • 字符就是只有一个字符的字符串,长度为 1。

下表展示了字符串类型:

类型描述
"双引号
\反斜线
/斜线
b退格符
f换页符
n换行符
r回车符
t水平制表符
u四位十六进制数字

语法:

var json-object-name = { string : "string value", .......}

示例:

下面的示例展示了字符串数据类型:

var obj = {name: 'Amit'}

布尔型

它包含 true 和 false 两个值。

语法:

var json-object-name = { string : true/false, .......}

示例:

var obj = {name: 'Amit', marks: 97, distinction: true}

数组

  • 它是一个有序的值集合。
  • 使用方括号闭合,这意味着数组以 [ 开始,以 ] 结尾。
  • 值使用 ,(逗号)分割。
  • 数组索引可以以 0 或 1 开始。
  • 当键名是连续的整数时应该使用数组。

语法:

[ value, .......]

示例:

下面的示例展示了一个包含多个对象的数组:

{"books": [{ "language":"Java" , "edition":"second" },{ "language":"C++" , "lastName":"fifth" },{ "language":"C" , "lastName":"third" }]
}

对象

  • 它是一个无序的名/值对集合。
  • 对象使用大括号闭合,以 '{' 开始,以 '}' 结尾。
  • 每个名称后面都跟随一个 ':'(冒号),名/值对使用 ,(逗号)分割。
  • 键名必须是字符串,并且不能同名。
  • 当键名是任意字符串时应该使用对象。

语法:

{ string : value, .......}

示例:

下面的例子展示了对象:

{"id": "011A","language": "JAVA","price": 500,
}

空格

可以在任意一对符号之间插入。可以添加用来让代码更可读。下面的例子展示了使用空格和不使用空格的声明:

语法:

{string:"   ",....}

示例:

var i= "   sachin";
var j = "  saurav"

null

意味着空类型。

语法:

null

示例:

var i = null;if(i==1) {document.write("<h1>value is 1</h1>");  
} else {document.write("<h1>value is null</h1>");
}

JSON 值

包括:

  • 数字(整型和浮点型)
  • 字符串
  • 布尔值
  • 数组
  • 对象
  • null

语法:

String | Number | Object | Array | TRUE | FALSE | NULL

示例:

var i =1;
var j = "sachin";
var k = null;

http://www.lryc.cn/news/45012.html

相关文章:

  • Python函数简介
  • 一文读懂 mysql 为什么要两阶段提交以及两阶段提交原理
  • 启动Hadoop报错【Error: JAVA_HOME is not set and could not be found.】
  • 《MySQL系列-InnoDB引擎35》索引与算法-B+树索引的使用
  • 【EHub_tx1_tx2_E100】不止科技NVISTAR ROC 300激光雷达Ubuntu18.04+ROS1ROS2 评测
  • C语言函数大全--d开头的函数
  • 基于springboot实现福聚苑社区团购演示【项目源码】
  • 动静态库的制作
  • QMS-云质-质量软件-客诉,为什么应该用两段式来处理
  • JS:关于邮箱的正则表达式及规则
  • 两句话,ChatGPT帮我写一个打飞机的游戏
  • 计算机图形学14:三维图形的投影变换
  • 【ChatGPT4】王老师零基础《NLP》(自然语言处理)第二课
  • 设计模式之中介者模式在前端的应用
  • 2023年还能入行程序员吗?工作3年以上的黑马老学员怎么说?
  • 接收机的噪声来源与噪声分析
  • Android FrameWork——SystemServer
  • 婴儿推车ASTMF883测试
  • 射频接收机概述
  • 实验三Numpy知识点总结
  • Code Review时学到的技巧之isAssignableFrom
  • IP协议以及相关技术
  • SpringBoot 项目使用 Sa-Token 完成登录认证
  • javaScript 蓝桥杯----梅楼封的一天
  • 谷粒商城笔记+踩坑(18)——购物车
  • 进阶C语言:指针笔试题
  • 基于SSM(jsp)的宿舍管理系统
  • Java Web应用开发——作业四
  • 基于ASP的反垃圾邮件管理系统的设计与实现
  • 2010年9月计算机二级JAVA笔试试题及答案