JSON基础与使用以及实例演示

转载出处:https://blog.youkuaiyun.com/qq_41647999/article/details/82769761

免责声明:本人以传递知识的心态引用了一些比较好的图片或实例,原文链接已标注,若有侵权联系903131009@qq.com即删!

下面我整理了一些基础性(JSON深入浅出)的问题,再一一解答这些问题。其次,在一些比较难以理解的地方,也有举例说明,希望能够帮到您!废话不多说,请看目录:

目录

JSON基础与实例

一、JSON是什么?

二、JSON用来做什么?

三、为什么要用JSON?

四、如何使用JSON?

(一) JSON基于两种结构

(二) JSON的形式

1.对象(object)

2.数组(array)

3.值(value)

4.字符串(string)

5.数值(number)

关于转换为 JS对象的问题

附加内容:

AJAX获取JSON文件中的数据

Item.json

index.html


(概念整理自JSON官网:http://www.json.org.cn/

一、JSON是什么?

JSON 是一种轻量级的数据交换格式。

二、JSON用来做什么?

JSON 是用于存储和传输数据的格式。

JSON 通常用于服务端向网页传递数据 。

三、为什么要用JSON?

  • 容易阅读和编写。

  • 方便机器解析和生成。

  • JSON采用独立于程序语言的文本格式,但是也使用了常用编程语言的习惯。这些特性使JSON成为理想的数据交换语言。

四、如何使用JSON?

(一) JSON基于两种结构

1.“名称/值”对的集合(A collection of name/value pairs)

不同的编程语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

2.值的有序列表(An ordered list of values)。

在大部分语言中,它被实现为数组(array),矢量(vector),列表(list),序列(sequence)。

这些都是常见的数据结构。目前,大部分编程语言都支持它们。这使得在各种编程语言之间交换同样格式的数据成为可能。

(二) JSON的形式

1.对象(object)

 是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

 

实例:


 
 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>DJun(blog.youkuaiyun.com/qq_41647999) </title>
  6. </head>
  7. <body>
  8. <p>
  9. 商品名称: <span id="goodsname"> </span> <br />
  10. 商品地址: <span id="goodsurl"> </span> <br />
  11. 公司 slogan: <span id="goodsslogan"> </span>
  12. </p>
  13. <script>
  14. var JSONObject= {
  15. "name": "大白菜",
  16. "url": "www.dreamstudio.top",
  17. "slogan": "热爱知识,传递技术!"
  18. };
  19. document.getElementById( "goodsname ").innerHTML=JSONObject.name
  20. // innerHTML在JS是双向功能:获取对象内容 或 向对象插入内容;
  21. //在这是向id为goodsname的对象插入JSONObject.name内容
  22. document.getElementById( "goodsurl ").innerHTML=JSONObject.url
  23. document.getElementById( "goodsslogan ").innerHTML=JSONObject.slogan
  24. </script>
  25. </body>
  26. </html>

2.数组(array)

是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

 

实例:


 
 
  1. var JSONObject ={
  2. "sites": [
  3. { "name": "菜鸟教程" , "url": "www.runoob.com" },
  4. { "name": "google" , "url": "www.google.com" },
  5. { "name": "微博" , "url": "www.weibo.com" }
  6. ]
  7. }

网页实现调用的方式和上述实例相同。

3.值(value)

可以是双引号括起来的字符串(string)、数值(number)、truefalsenull、对象(object)或者数组(array)。这些结构可以嵌套。

4.字符串(string)

是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

JSON的字符串(string)与C或者Java的字符串非常相似。

下面介绍两个函数:

JSON.parse()

用于将一个 JSON 字符串转换为 JavaScript 对象。

JSON.stringify()

用于将 JavaScript 值转换为 JSON 字符串。

 

5.数值(number)

与C或者Java的数值非常相似。只是JSON的数值没有使用八进制与十六进制格式。同时,可以在任意标记之间添加空白。

关于转换为 JS对象的问题

使用内建的 JavaScript eval() 用方法进行解析JSON数据来生成原生的Javascript对象

到这里,JSON的基本知识也就到这里结束了。如果您已经学习过AJAX的话,可以在看一下以下内容哦~

附加内容:

AJAX获取JSON文件中的数据

(实例来自:https://www.cnblogs.com/zhangyongl/p/6399955.html

Item.json


 
 
  1. [
  2. {
  3. "name": "张国立",
  4. "sex": "男",
  5. "email": "zhangguoli@123.com",
  6. "url": "./img/1.jpg"
  7. },
  8. {
  9. "name": "张铁林",
  10. "sex": "男",
  11. "email": "zhangtieli@123.com",
  12. "url": "./img/2.jpg"
  13. },
  14. {
  15. "name": "邓婕",
  16. "sex": "女",
  17. "email": "zhenjie@123.com",
  18. "url": "./img/3.jpg"
  19. },
  20. {
  21. "name": "张国立",
  22. "sex": "男",
  23. "email": "zhangguoli@123.com",
  24. "url": "./img/4.jpg"
  25. },
  26. {
  27. "name": "张铁林",
  28. "sex": "男",
  29. "email": "zhangtieli@123.com",
  30. "url": "./img/5.jpg"
  31. },
  32. {
  33. "name": "邓婕",
  34. "sex": "女",
  35. "email": "zhenjie@123.com",
  36. "url": "./img/6.jpg"
  37. }
  38. ]

index.html


 
 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Insert title here </title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
  7. <script type="text/javascript" src="js/jquery-1.10.2.min.js"> </script>
  8. <style type="text/css">
  9. .p1{
  10. font-size: 14px;
  11. color: #000;
  12. }
  13. .p2{
  14. font-size: 12px;
  15. color: #b0b0b0;
  16. }
  17. .p3{
  18. font-size: 14px;
  19. color: #ff5f19;
  20. }
  21. .product{
  22. width: 100%;
  23. position: relative;
  24. margin: 20px 0 5px 0;
  25. height: 100px;
  26. background: #fafafa;
  27. }
  28. .img{
  29. width: 100px;
  30. height: 100px;
  31. float: left;
  32. margin-right: 20px;
  33. }
  34. .p{
  35. display:inline-block;
  36. float:left;
  37. width: 50%;
  38. margin-top: 6px;
  39. font-family: Microsoft YaHei;
  40. }
  41. .p1{
  42. margin-top: 16px;
  43. }
  44. </style>
  45. <script>
  46. //页面加载 获取全部信息
  47. $( function(){
  48. $.ajax({
  49. type: "POST", //请求方式
  50. url: "item.json", //地址,就是json文件的请求路径
  51. dataType: "json", //数据类型可以为 text xml json script jsonp
  52.           success: function(result){ //返回的参数就是 action里面所有的有get和set方法的参数
  53. addBox(result);
  54. }
  55. });
  56. /*$.get("item.json",function(result){
  57. //result数据添加到box容器中;
  58. addBox(result);
  59. });*/
  60. });
  61. function addBox(result){
  62. //result是一个集合,所以需要先遍历
  63. $.each(result, function(index,obj){
  64. $( "#box").append( "<div class='product'>"+ //获得图片地址
  65. "<div><img class='img' src="+obj[ 'url']+ "/></div>"+
  66. //获得名字
  67. "<div class='p1 p'>"+obj[ 'name']+ "</div>"+
  68. //获得性别
  69. "<div class='p2 p'>"+obj[ 'sex']+ "</div>"+
  70. //获得邮箱地址
  71. "<div class='p3 p'>"+obj[ 'email']+ "</div>"+
  72. "</div>");
  73. });
  74. }
  75. </script>
  76. </head>
  77. <body>
  78. <!-- 构建装一个容器 -->
  79. <div id="box">
  80. </div>
  81. </body>
  82. </html>

效果图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值