JSON

JSON(JavaScript对象表示法 JavaScript Object Notation),是存储和交换文本信息的语法,轻量级的文本数据交换格式,类似XML,但是比XML更小、更快、更容易解析。 
JSON独立于各种编程语言平台,并且几乎所有的主流编程语言都内置了对JSON数据格式的支持。

JSON语法规则

JSON语法是JavaScript对象表示法语法的子集:

  • 数据以名/值 对的形式表示
  • 数据之间以逗号分隔
  • 花括号保存对象
  • 方括号保存数组

JSON值

JSON名值对包括字段名称(包含在双引号中),后面一个冒号,然后是值,如:

"username": "Jessica"

JSON值可以包含以下多种类型:

  • 数字(整数和浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true或false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null

JSON对象和JSON数组

JSON对象包含在花括号中,可以包含多个名/值对,其值可以为数组;JSON数组包含在方括号中,可以包含多个对象。JSON既可以以花括号开头,也可以以方括号开头,JSON对象和JSON数组可以互相嵌套,如:

代码:
   function showJSON(){
    
    var user=
    {
     "username":"andy",
     "age":20,
     "info":{"tel":"123456","cellphone":"53657"},
     "address":
     [
      {"city":"beijing","postcode":"2332333"},
      {"city":"newyork","postcode":"5556666"}
     ]
     
    }
    alert(user.username); 
    alert(user.age);
    alert(user.info.tel);
    alert(user.info.cellphone);
    alert(user.address[0].city);
    alert(user.address[1].postcode);
    
    user.username="Tom";
    alert(user.username);
   }

JSON解析和序列化

早期的JSON解析器基本上就是使用JavaScript的eval()函数。由于JSON是JavaScript语法的子集,因此eval()函数可以解析并返回JavaScript对象和数组。

1.使用JSON.parse()把字符串解析为JSON对象或数组。

2.使用JSON.stringify()把JSON对象或数组序列化为字符串。

 在后台使用json格式的数据有两种方法:


 1、JSONObject

是一个json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value}。

输出的json格式数据

2、JSONArray

json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的。

输出结果:

Json对象中是添加的键值对,JSONArray中添加的是Json对象

区别是JSONObject是一个对象,JSONArray是一个数组。

json经常出现的错误:

{

  “name”:"annay"           对于键值对:名称是一个字符串,必须用双引号,且值不能用单引号

}

原文地址:https://www.cnblogs.com/xiaoan0705/p/8618143.html