什么是JSON对象

1.json的定义:

   JSON全称是JavaScript Object Notation,是一种轻量级的数据交换格式。

2.JSON的语法规则:

1)数据以名称/值对的形式保存,如:{“key”: "value"}。

JSON的值可以使数字、字符串、null、true、false、数组或对象。

2)数据用逗号分隔;花括号保存对象,对象可以包含多个名/值对;方括号保存数组,数组可以包含对个对象。

如{

"a" : "rose",

"b": "amy",

}

3)JSON文件:

  • JSON 文件的文件类型是 ".json"
  • JSON 文本的 MIME 类型是 "application/json"

3.JSON的两种结构:

1)键值对形式:

即Name-Value对的结构结构集合(无序的 )。如:{name1:value1.name2:value2,...};

 {"name":"小明","age":"12"}

2)Array(有序的):一组有序的数据列表。

例如:[value1,value2,value3,.....],其中,值可以是双引号引起来的字符串(string)、数值(number)、true、false、null、对象(object)或者数组(Array),这些结构都是可以嵌套的。

如:例一:对象中可以包含数组

   {"root":[{"id":"001","name":"小红"},{"id":"002","name":"小明"},{"id":"003","name":"小丽"}],"total":3,"success":true}

     例二:也可以对象嵌套子对象,子对象再嵌套数组:

      {"memberList":{"lists":[{"id":"001","name":"小红"},{"id":"002","name":"小明"},{"id":"003","name":"小丽"}]}}

     例三:数组中可以包含对象:

       [{"id":"001","name":"小红"},{"id":"002","name":"小明"},{"id":"003","name":"小丽"},........]

4.JSON的取值方式和修改方式:

 如:var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName": "Carter" } ];

取值:employees[0].lastName

修改数据:employees[0].lastName="Jobs"

如:var employees = [ { "firstName":"Bill"}]

取值:employees[firstname]  或者 employees.firstname

5.JSON与字符串之间的转化方法:

1)JSON转换为字符串(string)格式:JSON.stringify(obj)

        var string=JSON.stringify(obj);

2)将Json字符串转换为JSON:JSON.parse(string)

   (1)var data=JSON.parse(string);

    function strToJson(){

      return JSON.parse(str);

    }

    使用JSON.parse需严格遵守JSON规范,如属性都需要用引号引起来,否则会出错,如下:

      var str = '{name:"jack"}'; 
      var obj = JSON.parse(str); // --> parse error 

    name没有用引号引起来,使用JSON.parse所有浏览器中均抛异常,解析失败。(下面这两种方式则没有问题)

出处:https://www.cnblogs.com/mingxiastory/p/5401502.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值