json学习-json对象

举报
亿人安全 发表于 2023/05/31 21:10:05 2023/05/31
【摘要】 对象语法实例{ "name":"runoob", "alexa":10000, "site":null }JSON 对象使用在大括号({})中书写。对象可以包含多个 key/value(键/值)对。key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。key 和 value 中使用冒号(:)分割。每个 key/value ...

对象语法

实例

{ "name":"runoob", "alexa":10000, "site":null }

JSON 对象使用在大括号({})中书写。

对象可以包含多个 key/value(键/值)对。

key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。

key 和 value 中使用冒号(:)分割。

每个 key/value 对使用逗号(,)分割。

访问对象值

你可以使用点号(.)来访问对象的值:

实例:


  1. var myObj, x;

  2. myObj = { "name":"runoob", "alexa":10000, "site":null };

  3. x = myObj.name;

你也可以使用中括号([])来访问对象的值:


  1. var myObj, x;

  2. myObj = { "name":"runoob", "alexa":10000, "site":null };

  3. x = myObj["name"];

循环对象

你可以使用 for-in 来循环对象的属性:

实例:


  1. var myObj = { "name":"runoob", "alexa":10000, "site":null };

  2. for (x in myObj) {

  3. document.getElementById("demo").innerHTML += x + "<br>";

  4. }

在 for-in 循环对象的属性时,使用中括号([])来访问属性的值:


  1. var myObj = { "name":"runoob", "alexa":10000, "site":null };

  2. for (x in myObj) {

  3. document.getElementById("demo").innerHTML += myObj[x] + "<br>";

  4. }

嵌套 JSON 对象

JSON 对象中可以包含另外一个 JSON 对象:


  1. myObj = {

  2. "name":"runoob",

  3. "alexa":10000,

  4. "sites": {

  5. "site1":"www.runoob.com",

  6. "site2":"m.runoob.com",

  7. "site3":"c.runoob.com"

  8. }

  9. }

你可以使用点号(.)或者中括号([])来访问嵌套的 JSON 对象。


  1. x = myObj.sites.site1;

  2. // 或者

  3. x = myObj.sites["site1"];

修改值

你可以使用点号(.)来修改 JSON 对象的值:

实例:

myObj.sites.site1 = "www.google.com";

你可以使用中括号([])来修改 JSON 对象的值:

实例:

myObj.sites["site1"] = "www.google.com";

删除对象属性

我们可以使用 delete 关键字来删除 JSON 对象的属性:

实例:

delete myObj.sites.site1;

你可以使用中括号([])来删除 JSON 对象的属性:

实例:

delete myObj.sites["site1"]

json 对象和 json 字符串的区别:

json 对象

var str2 = { "name": "asan", "sex": "man" };

json字符串

var str1 = '{ "name": "deyuyi", "sex": "man" }';

在使用for遍历时,只能通过 myObj[x] 来获取相应属性的值,而不能使用 myObj.x


  1. <div id="demo"></div>

  2. <script>

  3. var myObj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com" };



  4. for (x in myObj) {

  5. document.getElementById("demo").innerHTML += myObj[x] + "<br>";

  6. }

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。