JS从0开始(二十)JSON

213 阅读1分钟

一.JSON

1.对象的无序排列

var obj ={
    d:function(){
       console.log(this.a + this.b + this.c);
    },
    a: 1,
    b: 2,
    c: 3
}
obj.d(); /输出6

对象的无序排列:不管语句顺序如何对象里面都会执行

二.JSON

JSON:Javascript Object Nocation 即JavaScript对象标记 , 其实就是一种JS的对象表达方式
JSON主要用来数据交互,特点:轻量。
JSON就是轻量级的数据交互格式
JSON里面不能存有方法,所以JSON一定是对象,但是对象不一定是JSON

素养知识:
所有变成语言都离不开的三大数据类型
1. scalar 标量 --> 字符串和数字
2.sequence 序列 --> 数组和列表 list array
3.mapping 映射 --> 键值对 键名 : 键值

JSON正是选用映射的方式来形成一个轻量级的数据结构

1.JSON规范

  • 映射用冒号隔开 "name" : "jack"
  • 并列数据用逗号隔开
{
  "name" : "jack" , 
  "age"  : 18,
  }
  • 键名的集合用 { } 包裹
  • 键名一定要用双引号(普通对象的键名打上双引号也不会出错)
  • 并列数据集合用[]数组的形式包裹起来:
[
 {
   "name" : "jack" , 
   "age"  : 18,
  },
 {
   "name" : "james" , 
 } 
]    /这两个并列数据用[]包裹,用逗号隔开

2. JSON由来

早期用XML作为数据交互,但是XML数据文档很大,不易读,解析起来困难

3. JSON的方法

1. JSON.parse() --> 将JSON字符串转换成JSON对象

<div data-info='{"name":"jack","age":25}'></div> /在div里面传JSON,该键名必须打双引号

<script>
 var oDiv = document.querySelector('div');
 var info = oDiv.getAttribute('data-info');
 var jsonData = JSON.parse(info); /将JSON字符串转换成JSON对象
 console.log(jsonData);
</script>

在div里面传JSON,该键名必须打双引号

2.JSON.stringify() --> 将JSON对象转换成JSON字符串

<div></div>
<script>
 var oDiv = document.querySelector('div');
 var obj = {
   name: 'jack',
   age: 18
 }
 var str = JSON.stringify(obj);   /将JSON对象转换成JSON字符串
 console.log(str); /输出 {"name":"jack","age":18}
</script>