Skip to Content
JavaScript 经典实例:第三版
book

JavaScript 经典实例:第三版

by Adam D. Scott, Matthew MacDonald, Shelley Powers
September 2022
Intermediate to advanced
585 pages
8h 17m
Chinese
China Electric Power Press Ltd.
Content preview from JavaScript 经典实例:第三版
获取远程数据
359
并非所有应用都需要逐步构建表单元素,但是如果表单的数据是可变的,或者表单
较为复杂,这样做更高效。
13.5
解析返回的
JSON
13.5.1
问题
你想根据
JSON
安全创建
JavaScript
对象。你还想把真假值的数字表示(分别为
1
0
替换为对应的布尔值
true
false
)。
13.5.2
方案
使用
JSON.parse
解析对象。为了把数值转换成对应的布尔值,创建一个
reviver
数。
const
jsonobj = '{"test" : "value1", "test2" : 3.44, "test3" : 0}';
const
obj = JSON.parse(jsonobj, (key, value) => {
if
(
typeof
value === 'number') {
if
(value === 0) {
value =
false
;
}
else if
(value === 1) {
value =
true
;
}
}
return
value;
});
console.log(obj.test3); // false
13.5.3
讨论
创建
JSON
的方法其实与创建对象字面量差不多,只是要把对象字面量转换成字符
串(有些陷阱)。
对下面的数组对象来说:
const
arr =
new
Array("one","two","three");
360
13
等效的
JSON
表示法与数组字面量表示法一样。
["one","two","three"]; ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

JavaScript Patterns

JavaScript Patterns

Stoyan Stefanov
JavaScript

JavaScript

David Flanagan
JavaScript

JavaScript

T. J. Crowder

Publisher Resources

ISBN: 9787519869601