JSON介绍

什么是JSON

JSON 是一种存储和交换数据的语法。

json本质就是字符串, json数据 是用在 语言 里面使用的, ( 语言有java,c#,js )

json对象:的意思就是一组键值对的数据对象,在JavaScript里面就是JavaScript的对象,在c#(控制器就叫c#写法),java里面就是java的json对象(类/VO),不止JavaScript里面有json,c#控制器也会用json

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
  • JSON 具有自我描述性,更易理解

JSON语法格式

JSON 的语法规则十分简单,可称得上“优雅完美”,总结起来有:

数组(Array)用方括号(“[]”)表示。
对象(0bject)用大括号(“{}”)表示。
名称/值对(name/value)组合成数组和对象。
名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
并列的数据之间用逗号(“,”)分隔

例如用XML写的代码

<?xml version="1.0" encoding="utf-8" ?>
<country>
    <name>中国</name>
    <province>
        <name>山东</name>
        <citys>
            <city>青岛</city>
            <city>临沂</city>
        </citys>    
    </province>
    <province>
        <name>广东</name>
        <citys>
            <city>广州</city>
            <city>深圳</city>
            <city>珠海</city>
        </citys>   
    </province>
    <province>
        <name>湖北</name>
        <citys>
            <city>武汉</city>
            <city>黄冈</city>
        </citys> 
    </province>
</country>

换成JSON后

var country =

    {undefined

        name: "中国",

        provinces: [

            { name: "山东", citys: { city: ["青岛", "临沂"]} },

            { name: "广东", citys: { city: ["广州", "深圳", "珠海"]} },

            { name: "湖北", citys: { city: ["武汉", "黄冈"]} }

        ]

    }

JSON

{
    "sites": [
    { "name":"菜鸟教程" , "url":"www.runoob.com" }, 
    { "name":"google" , "url":"www.google.com" }, 
    { "name":"微博" , "url":"www.weibo.com" }
    ]
}

JSON与XML

JSON常被拿来与XML做比较,因为JSON 的诞生本来就多多少少要有取代XNL的意思。相比 XML,JSON的优势如下:

  • 没有结束标签,长度更短,读写更快
  • 能够直接被JavaScript解释器解析
  • 可以使用数组

JSON的解析与生成

JSON.parse

JSON字符串

<script>
	var str = '{"name": "兮动人","age":22}';
	var obj = JSON.parse(str);
	console.log(obj);
</script>

JSON.stringify

JS对象转成JSON字符串

<script>
	var str = '{"name": "兮动人","age":22}';
	var obj = JSON.parse(str);
	console.log(obj);
        
	var jsonstr = JSON.stringify(obj);
	console.log(jsonstr);
</script>