博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON
阅读量:4665 次
发布时间:2019-06-09

本文共 2701 字,大约阅读时间需要 9 分钟。

JSON  (JavaScript Object Notation,  JS 对象标记语言)  是一种语法

任何语言都可以解析JSON,只要按照JSON的规则来就行

和XML的比较

JSON读写速度快

 json长度和XML格式比起来短小

  XML有丰富的 ,比如Dom4j、JDom等,JSON也有提供的工具。无工具的情况下,相信熟练的开发人员一样能很快的写出想要的xml文档和JSON 串,不     过,xml文档要多很多结构上的字符。
  JSON可以使用JavaScript内建的方法直接进行解析,转换成JavaScript对象,十分方便。
 

JSON语法规则

在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。
JSON数据的书写格式是:名称/值对·
名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:  比如     "name":"洪七"

json的值可以是下面这些类型:

数字(整敷或浮点敷)比如123,L23

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

null

 

示例

 

{
"staff":[{"name":"洪七","age":70},{"name":"黄蓉","age":30},{"name":"郭靖","age":35} ]}

JSON解析两种方式:eval和JSON.parse

  在代码中使用eva|是很危险的!特别是用它执行第三方的JSON数据(其中可能包含恶意代码)时,

 尽可能使用JSON.parse()方法解析字符串本身·该方法还可以捕捉JSON中的语法错误.

json语法在线校验工具:https://jsonlint.com/

将上一篇中代码相应部分小小的改一下

 

Demo

员工查询

员工新建

"洪七", "number" => "101", "sex" => "男", "job" => "总经理"), array("name" => "郭靖", "number" => "102", "sex" => "男", "job" => "开发工程师"), array("name" => "黄蓉", "number" => "103", "sex" => "女", "job" => "产品经理") );//判断如果是get请求,则进行搜索;如果是POST请求,则进行新建//$_SERVER是一个超全局变量,在一个脚本的全部作用域中都可用,不用使用global关键字//$_SERVER["REQUEST_METHOD"]返回访问页面使用的请求方法if ($_SERVER["REQUEST_METHOD"] == "GET") { search();} elseif ($_SERVER["REQUEST_METHOD"] == "POST"){ create();}//通过员工编号搜索员工function search(){ //检查是否有员工编号的参数 //isset检测变量是否设置;empty判断值为否为空 //超全局变量 $_GET 和 $_POST 用于收集表单数据 if (!isset($_GET["number"]) || empty($_GET["number"])) { echo '{"success":false,"msg":"参数错误"}'; return; } //函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。 //global 关键词用于访问函数内的全局变量 global $staff; //获取number参数 $number = $_GET["number"]; $result = '{"success":false,"msg":"没有找到员工。"}'; //遍历$staff多维数组,查找key值为number的员工是否存在,如果存在,则修改返回结果 foreach ($staff as $value) { if ($value["number"] == $number) { $result = '{"success":true,"msg":"找到员工:员工编号:' . $value["number"] . ',员工姓名:' . $value["name"] . ',员工性别:' . $value["sex"] . ',员工职位:' . $value["job"] . '"}'; break; } } echo $result;}//创建员工function create(){ //判断信息是否填写完全 if (!isset($_POST["name"]) || empty($_POST["name"]) || !isset($_POST["number"]) || empty($_POST["number"]) || !isset($_POST["sex"]) || empty($_POST["sex"]) || !isset($_POST["job"]) || empty($_POST["job"])) { echo '{"success":false,"msg":"参数错误,员工信息填写不全"}'; return; } //TODO: 获取POST表单数据并保存到数据库 //提示保存成功 echo '{"success":true,"msg":"员工:' . $_POST["name"] . ' 信息保存成功!"}';}?>
 

 

 

转载于:https://www.cnblogs.com/sunmarvell/p/7390943.html

你可能感兴趣的文章
C语言学习之路
查看>>
值-结果参数
查看>>
[Excel] C# ExcelHelper操作类 (转载)
查看>>
使用jsoup进行网页内容抓取
查看>>
深入理解JVM内幕:从基本结构到Java 7新特性
查看>>
[NodeJs]入门经典
查看>>
准确判断listview上下滚动
查看>>
codeforces666A
查看>>
比较真实的下雪效果
查看>>
MongoDB 3.2 从安装到使用。
查看>>
CFround#380 div2
查看>>
设计模式基础知识备忘
查看>>
中国国家气象局天气预报信息接口
查看>>
牛客寒假算法基础集训营2 处女座的砝码 (思维)
查看>>
Samba 3.5.10 发布
查看>>
ORACLE升级PSU&OJVM注意的问题及遇到问题解决思路
查看>>
框架篇:Spring+SpringMVC+hibernate整合开发
查看>>
Masonry教程--IOS自适配,丢掉Autolayout吧
查看>>
java调用.net的webservice接口
查看>>
wifi使用的一些误区
查看>>