分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

JSON

发布时间:2023-09-06 02:34责任编辑:熊小新关键词:暂无标签

1.JSON语法

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Document</title> ???</head><body> ???<!-- ????????1.Jason是另一种创建对象实例的方法 ???????2.json数据的表示方式成对的参数与值 ???????3.可以转换为字符串进行存储和转换 ????--> ????<script> ???????var jsonobject= ???????{ ???????????//参数和值的对应关系 ???????????"gushi1":"落花人独立", ???????????"gushi2":"微雨燕双飞" ???????} ???????alert(jsonobject.gushi1); ???</script></body></html>

2.JSON优点

1)序列化的数据便于在网络环境中进行存储和传输

2)JSON的用途类似于XML,但是它更容易阅读和理解

3)XML解析过程慢,JSON提供的是JavaScript对象可以随时使用

3.JSON易于阅读

1)JSON可以快速创建和解析

2)是JavaScript的一个子集,不需要特殊的解释程序或额外的软件包

3)见名知意

4)概念简单.都是   "参数":"值"对


3.访问JSON数据

1)去序列化:还原JSON字符串编码的数据-->将字符串转换为JavaScript代码

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>使用eval()</title></head><body> ????<!-- ????????eval()函数会计算或运行作为参数传递的内容 ??????例:var x = eval(4*3); //x=12 ????--> ????<script type="text/javascript"> ????????//JSON语法 "参数":"值" 的形式 ????????//参数不能是纯数字 ???????var user = ‘{"shiju1":"蛾儿雪柳黄金缕","shiju2":"笑语盈盈暗香去","shiju3":"众里寻他千百度"}‘; ???????//使用eval解析 ???????var myObject = eval(‘(‘+user+‘)‘); ???????//myObject可以使用参数句号形式访问值 ???????alert(myObject.shiju1); ????</script></body></html>

2)浏览器解析JSON语法

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>使用浏览器解析JSON</title></head><body> ???<!-- ????????某些浏览器会创建一个名为JSON的JavaScript对象来管理JSON的编码和解码.这个对象有两个方法 ???????stringify() ??parse() ????--> ????<script type="text/javascript"> ????????//JSON语句 "参数":"值" ????????var Mary =‘{"shici1":"众里寻他千百度","shici2":"蓦然回首","shici3":"那人却在灯火阑珊处"}‘; ????????//浏览器解析 ?返回的是数组 ????????var myObject = JSON.parse(Mary); ????????var result = ""; ????????//i对应参数 ????????for(i in myObject){ ????????????result += i + "="+myObject[i] +"\n"; ????????} ????????alert(result); ????</script></body></html>

                                                                                

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>JSON.stringify</title></head><body onload="jsonParse()"> ???<script type="text/javascript"> ???????function jsonParse(){ ???????????//将提示框的返回值作为被解析JSON语句 ???????????var inString = prompt("Enter JSON object"); ???????????var out = ""; ???????????//解析完的是一个数组 ???????????myobject = JSON.parse(inString); ???????????//遍历 ???????????//i对应参数 ???????????for(i in myobject){ ???????????????out +="JSON序列对:"+i+"="+myobject[i]+‘\n‘; ???????????} ???????????alert(out); ???????} ???</script></body></html>

                                                                               

 3)stringify方法

      

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>stringify</title></head><body> ???<!-- ????????序列化:数据转换为便于通过网络进行存储和传输的形式 ???????稍后再回复为原始的格式 ????--> ???<script type="text/javascript"> ???????var Dan=new Object();//创建对象 ???????Dan.height=1.85; ???????Dan.age=18; ???????Dan.eyeColor="blue"; ???????alert(JSON.stringify(Dan)); ???</script></body></html>

4.JSON数据类型

每个 "参数":"值"   参数必须遵循一些简单的语法规则

1)不能是JavaScript保留的关键字

2)不能以数字开头

3)除了下划线与美元 不能包含任何特殊字符

每个值可以是以下一些数据类型

数值   字符型   布尔值  数组   对象   null(空)

注意:JavaScript有些数据类型不属于JSON标准,包括date error math function


5,JSON模拟关联数组

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Document</title></head><body> ???<script type="text/javascript"> ???????var conference= ???????{ ???????????"startDay":"Monday", ???????????"nextDay":"Tuesday", ???????????"endDay":"wednesday" ???????} ???????alert(conference["endDay"]); ???????alert(conference.nextDay) ???????//conference["参数值"] ???????//等价于 ???????//conference.参数值 ???</script></body></html>

温馨小提示:JSON是独立于任何编程语言和平台的,很多编程语言如:java PHP c都含有JSON库和工具

         


6,使用JSON创建对象

1)属性

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Document</title> ???</head><body> ???<!-- ????????1.Jason是另一种创建对象实例的方法 ???????2.json数据的表示方式成对的参数与值 ???????3.可以转换为字符串进行存储和转换 ????--> ????<script> ???????var jsonobject= ???????{ ???????????//参数和值的对应关系 ???????????"gushi1":"落花人独立", ???????????"gushi2":"微雨燕双飞" ???????} ???????alert(jsonobject.gushi1); ???</script></body></html>

2)方法

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Document</title></head><body> ???<script type="text/javascript"> ???????var user= ???????{ ???????????"username":"phib1234", ???????????"location":"Spain", ???????????"height":"1.80", ???????????"setName":function(newName) ???????????{ ???????????????this.username=newName; ???????????} ???????} ???????var newName=prompt("Enter a new username"); ???????user.setName(newName); ???</script></body></html>

3)数组

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Document</title></head><body> ???<script> ???????var bookListObject={ ???????"booklist":["Foundation", ???????"Dune", ???????"Q萌果子C", ???????"2001 A Space Odyssey", ???????"Stringer In A Stringe Land" ???????] ???????????} ???????var book=bookListObject.booklist[2]; ???????alert(book); ???</script></body></html>

4)对象

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Understanding JSON</title> ???<script type="text/javascript"> ???????var bookListObject={ ???????????"booklist":[{"title":"Foundation","author":"Isaac Asimov"}, ???????????{"title":"Dune","author":"Frank Herbert"}, ???????????{"title":"Eon","author":"Greg Bear"}, ???????????{"title":"2001 A Space Odyssey","author":"Arthur C.Clarke"}, ???????????{"title":"Stranger","author":"Robert A.Heinlein"}] ???????????} ???????????????????????//保存用户消息的一个变量 ???????????var ?out=""; ???????????//获取数组 ???????????var ?books=bookListObject.booklist; ????????????//获取数组,一本一本地获取图书 ???????????for(var i=0;i<books.length;i++) ???????????{ ?????????????var booknumber=i+1;; ?????????????out+="Book"+booknumber+ ????????????????"is:‘"+books[i].title+ ????????????????"‘by"+books[i].author+ ????????????????"\n"; ???????????} ???????????</script></head><body onload="alert(out)"></body></html>

JSON

原文地址:https://www.cnblogs.com/zjm1999/p/10458724.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved