json是JavaScript对象表示法,也是轻量级的文本数据交互格式,独立于语言,能够自我描述

json文本格式在语法上与创建JavaScript对象代码相同,多以json不需要解析器,js程序能够使用内建的eval()函数,用json数据来生成原生的JavaScript对象

我相信很多人都忘记或者不知道eval()函数,所以在这里我也把他的作用给大家写出来

eval(string):用于计算某个字符串,并且执行其中的js代码。注:里面的string参数必须填写,要含有JavaScript表达式或者要执行的语句

eval()函数返回的是计算string得到的值,string只能是原始字符串,不能传递string对象来作为eval()对象

json 是纯文本、具有“自我描述性”(人类可读)、具有层级结构(值中存在值)、可以通过 JavaScript 进行解析、json数据可使用 ajax进行传输

json语法规则:json语法是JavaScript对象法的子集;

数据在 名称:对 中

数据之间由逗号分隔

大括号{}保存对象

中括号[]保存数组

json的书写格式是 键(名称):值 ;

例如:

"name":"张三"

上面这句语法就相当于JavaScript语法里面的

name=”张三“

JSON 值可以是:

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

JSON 值可以是:

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

JSON 对象

JSON 对象在花括号中书写:

对象可以包含多个名称/值对:

{ "name":"张三" ,
"age":18}

这一点也容易理解,与这条 JavaScript 语句等价:

name=”张三“;
age=18

JSON 数组在方括号中书写:

数组可包含多个对象:

{
"data": [
{ "name":"张三" , "age":15 },
{ "name":"李四" , "age":16 },
{ "name":"王五" , "age":17 }
]
}

因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。

通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:

var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];

可以像这样访问 JavaScript 对象数组中的第一项:

employees[0].lastName;

返回的内容是:

Gates

可以像这样修改数据:

employees[0].lastName = "Jobs";

json的用法:

我们在做前后端分离项目时,一般情况下会从后端返回一个json数据给前端,然后前端将json数据转换为JavaScript对象,在网页中使用该对象

JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

json入门初体验的更多相关文章

  1. gulp快速入门&初体验

    前言 一句话先 gulp 是一个可以简单和自动化"管理"前端文件的构建工具 先说我以前的主要工作,我主要是做游戏服务端的,用c++/python,所以我对东西的概念理解难免要套到自 ...

  2. json学习初体验--第三者jar包实现bean、List、map创json格式

    1.的需要jar包裹json-lib.jar 下载链接: http://sourceforge.net/projects/json-lib/files/json-lib/ 此包还须要下面的依赖包, c ...

  3. javaWeb快速入门+——初体验-HelloWorld

    文章转载自 https://www.cnblogs.com/1906859953Lucas/p/10821840.html 练习成品下载 https://www.lanzous.com/i9fljkj ...

  4. Node.js入门初体验

    今天有一个类似网络爬虫的需求,本来打算用我还算熟悉的asp或者asp.NET来做这个事情,但是写了这么长时间js,asp的语法实在不喜欢,VS又早被我卸掉了,思来想去打算用一下最近比较火的Node.j ...

  5. Spring入门初体验

    Spring其实就是一个容器,让我们更方便的拿到想要的对象. 1.编写一个service // userService.java public interface userService { publ ...

  6. angularjs入门初体验

    1. http://www.zouyesheng.com/angular.html#toc39

  7. Netty 入门初体验

    Netty简介 Netty是一款异步的事件驱动的网络应用程序框架,支持快速开发可维护的高性能的面向协议的服务器和客户端.Netty主要是对java 的 nio包进行的封装 为什么要使用 Netty 上 ...

  8. 我的Go语言学习之旅二:入门初体验 Hello World

    好吧,全部的程序猿们都已经习惯了.学习不论什么一门语言,我们都会以Hello World实例開始我们的学习,我也不例外.先来一个简单的样例 打开编辑器 (能够用记事本,我已经习惯 Notepad++了 ...

  9. SpringBoot入门初体验

    概述 Java项目开发中繁多的配置,复杂的部署流程和第三方技术集成让码农在开发项目中效率低下,因此springBoot应运而生. 环境 IntelliJ IDEA 2018.3 jkd1.8 开始(傻 ...

随机推荐

  1. Liunx软件安装之Nginx

    安装 Nginx 1) 添加 Nginx 到 YUM 源 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-rele ...

  2. 利用ShardingSphere-JDBC实现分库分表--配置中心的实现

    在之前的文章中我详细描述了如何利用ShardingSphere-JDBC进行分库分表,同时也实现了简单的精确分库算法接口,详情见下面的链接: 利用ShardingSphere-JDBC实现分库分表 但 ...

  3. Python多进程的Join和daemon(守护)的用法

    join和daemon 下面仅以多进程为例: 知识点一: 当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置多线程时,主线程会创建多个子线程,在python中,默认情况下 ...

  4. CentOS -- RocketMQ HA & Monitoring

    RocketMQ Architecture NameServer Cluster Name Servers provide lightweight service discovery and rout ...

  5. 重温Android和Fragment生命周期

    重温下Android和Fragment生命周期,理解生命周期方法的作用,什么时候调用,可以做一些什么操作. 1.Android生命周期 1.1 生命周期图 1.2 生命周期函数说明 onCreate: ...

  6. 前端利器躬行记(3)——webpack基础

    webpack是一个静态模块打包器,此处的模块可以是任意文件,包括Sass.TypeScript.模板和图像等.webpack可根据输入文件的依赖关系,打包输出浏览器可识别的JavaScript.CS ...

  7. k8s集群部分常见问题处理

    目录 部分常见问题处理 Coredns CrashLoopBackOff 导致无法成功添加工作节点的问题 添加工作节点时提示token过期 kubectl 执行命令报“The connection t ...

  8. 上海学生事务中心&新华路派出所的位置

    上海学生事务中心: 地址:冠生园路401号    工作时间:9:00-17:00    电话:021-64829191 新华路派出所: 地址:新华路590弄21号    工作时间:周一至周六 9:00 ...

  9. CodeForces 812E Sagheer and Apple Tree 树上nim

    Sagheer and Apple Tree 题解: 先分析一下, 如果只看叶子层的话. 那么就相当于 经典的石子问题 nim 博弈了. 那我们看非叶子层. 看叶子层的父亲层. 我们可以发现, 如果从 ...

  10. 搭建自己的技术博客系列(一)使用 hexo 搭建一个精美的静态博客

    1.安装 Git 和 nodejs https://hexo.io/zh-cn/docs/