【JavaScript】简单理解JSON、JSON和JS对象的转换及区别

简单理解JSON

      • 引入
      • 概念
      • 基础结构
      • JSON对象和JSON字符串的转换
      • JSON和JS对象的区别

引入

简单来说:有三个人,小明,小亮,小红,小红是小亮的妹妹,小明喜欢小红,小明为了得到小亮妹妹的欢心,小明主动曝出了自己的重要信息给小亮,

{
     
	name:'小明',
	height:'185cm',
	weight:'70kg',
}

希望小亮可以把这些信息给到他妹妹。
JS转换成JSON

{
     
	"name":'小明',
	"height":'185cm',
	"weight":'70kg',
}

小亮在中间起到了一个沟通桥梁的作用,类似于JSON的作用。我们现在把小明看作JS,把小红看作C++。我们知道JS是前端语言,而后端语言又有很多种,这里大括号里面的是JS里的对象,然后C++里的对象又是另外一回事,于是JSON作为一种通用的数据格式就有它的用处了,大家都可以使用JSON这种格式来进行数据的传输。
JS对象转变为JSON格式,那么C++就会把JSON内容转化为自己能处理的数据存储格式。这样我们就不用担心不同语言有不同的语法和数据存储方式了。

概念

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的API或工具包。

基础结构

必须使用双引号 " 包含键值

// 键值对的集合,值的有序列表
var JsonObj = {
     
	"name":"Bob",
	"like":["看书","电影","跑步"]
}

数组

var JsonArr = [
  {
     
    "name": "tom",
    "type": "cat"
  },
  {
     
    "name": "jack",
    "type": "mouse"
  }
]

对象

var JsonObj = {
     
  "like": ["看书", "电影", "跑步"],
  "book": ["数字城堡", "刻意练习", "老人与海"]
}

JSON对象和JSON字符串的转换

字符串转对象

var jsonObject= JSON.parse(jsonstr);

对象转字符串

var jsonstr =JSON.stringify(jsonObject);

JSON和JS对象的区别

JSON JS对象
键名字符串 必须双引号 键名双引号,单引号或者无引号
数据类型 没有NaN、undefined、Infinity和函数 多种类型都有
逗号 最后一个键名对应的值是不能有 最后一个可加上

你可能感兴趣的:(JavaScript,json,javascript,前端)