JSON学习1-什么是JSON
什么是JSON
JSON(JavaScript Object Notation)指的是 JavaScript 对象表示法,是一种轻量级的数据交换格式。它的优点是易于人的阅读和编写,同时也易于及其解析和生成。它是JavaScript语法的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。
{ "phone" : "123-456" }
以上便是一个最简单的JSON的实例。
JSON的语法规则
JSON的语法规范如下:
- 数据在名称/值对中
- 数据由逗号分隔
- 大括号保存对象
- 中括号保存数组
可能概念看起来不太直观,我们通过几个例子来说明一下。
JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值,我们还是以上面的例子作分析:
{ "phone" : "123-456" }
这等价于这条 JavaScript 语句:
phone = "123-456"
例子中包含了一个JSON对象,以大括号作为边界。其中包含了数据的名称"phone"
,和数据的值"123-456"
。 这两个元素构成了JSON中常见的数据格式——名称 / 值对。
JSON 值
JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值( true
或 false
)
- 数组(在中括号中)
- 对象(在大括号中)
- null
JSON 数字可以是整型或者浮点型:
{ "age" : 20 }
JSON 布尔值可以是 true
或者 false
:
{ "handsome" : true }
JSON 可以设置 null
值:
{ "name" : null }
JSON 对象
JSON 对象在大括号({})中书写:
对象可以包含多个名称/值对,对象之间用逗号隔开:
{ "name" : "hjs" , "age" : 20 }
这句等价于
name = "hjs";age = 20;
JSON 数组
JSON 数组在中括号中书写:
数组可包含多个对象:
{"name" : "hjs""phone" : [{"cellphone1" : "123-456"} {"cellphone2" : "789-000"}]}
例子中有两个名称/值对,第一个对象name
的值是 hjs
,第二个对象 phone
的值是一个包含两个对象的数组。每个对象都代表一个电话( cellphone
)。
JSON 文件
JSON 文件的文件类型是 “.json”
JSON 文本的 MIME 类型是 “application/json”
之后我们会学习如何JavaScript读取JSON中的内容。
JSON学习1-什么是JSON相关推荐
- Json学习总结(4)——Json基础知识回顾
一.什么是JSON? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation); JSON 是轻量级的文本数据交换格式; JSON 具有自我描述性,更 ...
- JSON学习(一)——了解JSON
认识 一.第一印象 JSON:JavaSrcipt Object Notation:轻量级的数据交换格式. 理解:前后端分离开发中作为数据传递与交互的一种数据格式 二.深入学习 JSON 指的是 Ja ...
- python学习笔记 Network XHR json
一.重新分析过程 从QQ音乐搜索周杰伦的歌,打印所有歌名,代码可以写成如下: import requests from bs4 import BeautifulSoup res_music = req ...
- AJAX 和 JSON学习笔记
Ajax 和 Json (参考遇见狂神说b站视频) Web 1.0 时代 登录,如果失败,需要刷新页面,才能重新登录:不点击提交按钮,就不知道自己密码输错了: 现在搜索时,没有刷新页面,网页只有一部分 ...
- java对象转Json学习
java对象转Json学习 json多用于数据存储.交换与传输,json相比于xml更小,更快,更容易解析 对象的表示方法 #java Person p = new Person(); p.setNa ...
- Java学习-11 XML与JSON
Java学习-11 XML与JSON 1.XML 1.1.简介 可扩展标记语言(eXtensible Markup Language). 特性:1. xml具有平台无关性, 是一门独立的标记语言.2. ...
- 前端学习之——js解析json数组
** 前端学习之--js解析json数组 ** 解析json数组即对JSONArray的遍历 一.对于标准的json数组如: var result=[{"flag":1," ...
- Go 学习笔记(20)— Go 操作 json 文件(编码生成 json、解码 json 为 map、解码 json 为 struct)
1. Json 概述 Go 语言对于标准格式的编码和解码都有良好的支持,由标准库中的 encoding/json . encoding/xml . encoding/asn1 等包提供支持并且这类包都 ...
- 学习网络请求返回json对应的model
原来泛型可以这样用: 网络返回基类,返回一个code,msg,body,其中body不确定,所以,我们把它写成泛型 import org.json.JSONObject;/*** 网络请求的基类* C ...
最新文章
- 自然语言处理常用数据集
- bzoj 1095: [ZJOI2007]Hide 捉迷藏
- Oracle分区知识
- 【BZOJ 2809】 [Apio2012]dispatching
- 还在担心服务挂掉?Sentinel Go 让服务稳如磐石
- css 两边宽度固定中间自适应宽度
- 《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.8节本章小结
- C++STL(set……)
- wordpress 自定义字段
- PHP课程第一次实验作业提交
- Java是有法_Java基础语法
- 【linux C】C语言中常用的几个函数的总结【二】
- 【Java程序设计】多线程进阶
- 【机器学习系列】GMM第一讲:两个角度认识高斯混合模型
- wechart image标签
- 使用bootstrap画登录页面并实现表单校验与“记住我”功能
- 用定量测定葡萄糖的方法检测根管微渗漏-供应海藻酸钠修饰聚丙烯酸Alg-PAA 醛基化海藻酸钠(ASA) 海藻酸钠-多聚鸟氨酸-海藻酸(A-PLO-A)定制
- 蓝叠模拟器的adb程序位置
- vbs脚本实现qq定时发消息(初级)
- vivoX30是android5的吗,深度剖析揭秘opporeno5质量和vivox30区别是?选哪个更好?独家揭秘报道...