json就是字符串!

json就是字符串!

json就是字符串!

重要的事情说三遍!
json本质就是字符串,经过序列化的字符串。json的出现只是方便传输。
你可以将所有的数据类型用序列化函数序列化json字符串,然后再用反序列化函数恢复其初始数据类型。

Json的规格非常简单,只用一个页面几百个字就能说清楚,而且Douglas Crockford声称这个规格永远不必升级,因为该规定的都规定了。
1) 并列的数据之间用逗号(", ")分隔。
2) 映射用冒号(": ")表示。
3) 并列数据的集合(数组)用方括号("[]")表示。
4) 映射的集合(对象)用大括号("{}")表示

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

类型 描述
Number 在JavaScript中的双精度浮点格式
String 双引号的反斜杠转义的Unicode
Boolean true 或 false
Array 值的有序序列
Value 它可以是一个字符串,一个数字,真的还是假(true/false),空(null )等
Object 无序集合键值对
Whitespace 可以使用任何一对中的令牌
null empty

数字

  • 这是一个双精度浮点格式在JavaScript中,这取决于执行

  • 八进制和十六进制格式不被使用。

  • 非NaN或无穷大用数字

以下的表格显示数字类型:

类型 描述
Integer Digits 1-9, 0 and positive or negative
Fraction Fractions like .3, .9
Exponent Exponent like e, e+, e-,E, E+, E-

语法:

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

实例:

示例显示数字的数据类型值不被引用:

var obj = {marks: 97}

字符串

  • 这是一个零个或多个双引号的Unicode字符用反斜杠转义序列。

  • 字符是一个字符串,即字符串长度为1

该表显示字符串类型:

类型 描述
" double quotation
  reverse solidus
/ solidus
b backspace
f form feed
n new line
r carriage return
t horizontal tab
u four hexadecimal digits

语法:

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:"   ",....}

EXAMPLE:

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 值

它包括:

  • number (integer or floating point)

  • string

  • boolean

  • array

  • object

  • null

语法:

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

示例:

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

JSON 是个什么??!!!的更多相关文章

  1. 使用TSQL查询和更新 JSON 数据

    JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...

  2. 【疯狂造轮子-iOS】JSON转Model系列之二

    [疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...

  3. 【疯狂造轮子-iOS】JSON转Model系列之一

    [疯狂造轮子-iOS]JSON转Model系列之一 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 之前一直看别人的源码,虽然对自己提升比较大,但毕竟不是自己写的,很容易遗 ...

  4. Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)

    背景: 1:有用户反馈了关于跨域请求的问题. 2:有用户反馈了参数获取的问题. 3:JsonHelper的增强. 在综合上面的条件下,有了2.2版本的更新,也因此写了此文. 开源地址: https:/ ...

  5. .NET Core系列 : 2 、project.json 这葫芦里卖的什么药

    .NET Core系列 : 1..NET Core 环境搭建和命令行CLI入门 介绍了.NET Core环境,本文介绍.NET Core中最重要的一个配置文件project.json的相关内容.我们可 ...

  6. 一个粗心的Bug,JSON格式不规范导致AJAX错误

    一.事件回放  今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...

  7. JSON.parse()和JSON.stringify()

    1.parse 用于从一个字符串中解析出json 对象.例如 var str='{"name":"cpf","age":"23&q ...

  8. json与JavaScript对象互换

    1,json字符串转化为JavaScript对象: 方法:JSON.parse(string) eg:var account = '{"name":"jaytan&quo ...

  9. .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator

    去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务 ...

  10. WebApi接口 - 响应输出xml和json

    格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...

随机推荐

  1. Google代码规范

    文件名 文件名须全部小写,下划线(_)和短横线(-) 源文件采用 UTF-8 编码. 非空代码块:K&R 风格 左花括号不另起新行 左花括号后紧跟换行 右花括号前需要换行 如果右花括号结束了语 ...

  2. [Mongo]Linux上启动与关闭MongoDB

    文档地址:https://docs.mongodb.com/v3.0/tutorial/install-mongodb-on-amazon/ 默认配置下,Mongo实例会将其数据文件存放在/var/l ...

  3. markdown改变字体颜色和大小

    markdown中改变字体颜色与大小方法同html 先看例子 <font face="黑体">我是黑体字</font> 我是黑体字 <font fac ...

  4. lstm bptt推导

    深蓝 nlp 180429这个有详细的讲解

  5. react-native获取设备信息组件(react-native-device-info)

    转载链接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/react-native-acquisition-device-infor ...

  6. (56)Wangdao.com第八天_JavaScript 流程控制语句

    流程控制语句 条件判断语句 if 条件分支语句 switch 循环语句 for .while switch 和 if 都可以相互转换,switch 的性能更优于 if 1. 条件判断语句 if 在某条 ...

  7. linux中vi编辑

    crt退出全屏:点击Alt+enter键 linux上传下载文件     Xftp.Filezilla.Winscp等工具 命令      sz  test.txt    #下载test.txt文件 ...

  8. 实现全选、全不选功能 JQuery

    <input type="checkbox" name="" id="checkAllChange" value="&quo ...

  9. Python自学知识点----Day02

    Linux基本操作命令: 命令                                    作用                                     英文释义 ls    ...

  10. laravel整合workerman做聊天室

    测试工具  http://www.blue-zero.com/WebSocket/ 2018年8月6日17:28:24 <?php namespace App\Console\Commands; ...