Movatterモバイル変換


[0]ホーム

URL:


codecamp

JSON 对象

我们来看一个简单的 JSON 对象:

{ "name":"w3cschool", "alexa":8000, "site":null }

JSON 对象使用在大括号(​{}​)中书写,对象可以包含多个 key/value(键/值)对。

其中:

  • key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
  • key 和 value 中使用冒号(:)分割。
  • 每个 key/value 对使用逗号(,)分割。

创建简单的对象

JSON 对象可以使用 JavaScript 创建。我们来看看使用 JavaScript 创建 JSON 对象的各种方式:

  • 创建一个空对象:
var JSONObj = {};
  • 创建一个新对象:
var JSONObj = new Object();
  • 创建一个bookname 属性值为字符串,price属性值为数字的对象。可以通过使用 '.' 运算符访问属性。
var JSONObj = { "bookname ":"VB BLACK BOOK", "price":500 };

这里有一个例子,展示了在 JavaScript 中使用 JSON 创建对象,可以将下面的代码保存为json_object_w3cschool.htm

 注:.htm格式是早期的.html格式,此处内容无误。

<html><head><title>在JavaScript中使用JSON创建对象(w3cschool.cn)</title><script language="javascript" >    var JSONObj = { "name" : "编程狮(w3cschool.cn)", "time"  : 2020 };    document.write("<h1>JSON和JavaScript的例子</h1>");    document.write("<h3>网站的名字="+JSONObj.name+"</h3>");      document.write("<h3>时间="+JSONObj.time+"</h3>");  </script></head><body></body></html>

现在让我们尝试使用 IE 或者任何其他启用了 JavaScript 的浏览器打开这个页面,这会生成如下所示结果:


访问对象值

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

实例

var myObj, x;
myObj = { "name":"w3cschool", "alexa":8000, "site":null };
x = myObj.name;

尝试一下 »

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

实例

var myObj, x;
myObj = { "name":"w3cschool", "alexa":8000, "site":null };
x = myObj["name"];

尝试一下 »

循环对象

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

实例

var myObj = { "name":"w3cschool", "alexa":8000, "site":null };
for (x in myObj) {
    document.getElementById("demo").innerHTML += x + "
";
}

尝试一下 »

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

实例

var myObj = { "name":"w3cschool", "alexa":8000, "site":null };
for (x in myObj) {
    document.getElementById("demo").innerHTML += myObj[x] + "
";
}

尝试一下 »

创建数组对象

下面的例子展示了在 JavaScript 中使用 JSON 创建数组对象,可以将下面的代码保存为json_array_object_w3cschool.htm

<html><head><title>在 JavaScript 中使用 JSON 创建数组对象(w3cschool.cn)</title><script language="javascript" >document.writeln("<h2>JSON数组对象(w3cschool.cn)</h2>");var books = {    "Pascal" : [         { "Name"  : "Pascal Made Simple", "price" : 700 },        { "Name"  : "Guide to Pascal", "price" : 400 }    ],                           "Scala"  : [        { "Name"  : "Scala for the Impatient", "price" : 1000 },         { "Name"  : "Scala in Depth", "price" : 1300 }    ]    }    var i = 0document.writeln("<table border='2'><tr>");for(i=0;i<books.Pascal.length;i++){       document.writeln("<td>");    document.writeln("<table border='1' width=100 >");    document.writeln("<tr><td><b>Name</b></td><td width=50>"    + books.Pascal[i].Name+"</td></tr>");    document.writeln("<tr><td><b>Price</b></td><td width=50>"    + books.Pascal[i].price +"</td></tr>");    document.writeln("</table>");    document.writeln("</td>");}for(i=0;i<books.Scala.length;i++){    document.writeln("<td>");    document.writeln("<table border='1' width=100 >");    document.writeln("<tr><td><b>Name</b></td><td width=50>"    + books.Scala[i].Name+"</td></tr>");    document.writeln("<tr><td><b>Price</b></td><td width=50>"    + books.Scala[i].price+"</td></tr>");    document.writeln("</table>");    document.writeln("</td>");}document.writeln("</tr></table>");</script></head><body></body></html>

现在让我们尝试使用 IE 或者任意其他启用了 JavaScript 的浏览器打开这个页面,和会生成如下所示结果:


嵌套 JSON 对象

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

myObj = {    "name":"w3cschool",    "alexa":10000,    "sites": {        "site1":"www.w3cschool.cn",        "site2":"m.w3cschool.cn",        "site3":"c.w3cschool.cn"    }}

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

实例

x = myObj.sites.site1;
// 或者
x = myObj.sites["site1"];

尝试一下 »

修改值

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

实例

myObj.sites.site1 = "www.w3cschool.cn";

尝试一下 »

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

实例

myObj.sites["site1"] = "www.w3cschool.cn";

尝试一下 »

JSON 对象和字符串的区别

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

JSON 对象

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

JSON 字符串

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


JSON 数据类型
JSON 模式
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录
关于 JSON

JSON 教程

JSON 基础

json格式

JSON 示例

JSON解析

JSON遍历

JSON调用

JSON转换

JSON获取

JSON字符串

JSON数组

关闭

MIP.setData({'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false},'pageFontSize' : getCookie('pageFontSize') || 20});MIP.watch('pageTheme', function(newValue){setCookie('pageTheme', JSON.stringify(newValue))});MIP.watch('pageFontSize', function(newValue){setCookie('pageFontSize', newValue)});function setCookie(name, value){var days = 1;var exp = new Date();exp.setTime(exp.getTime() + days*24*60*60*1000);document.cookie = name + '=' + value + ';expires=' + exp.toUTCString();}function getCookie(name){var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null;}
[8]ページ先頭

©2009-2025 Movatter.jp