JSON(JavaScript 对象表示法)是一种轻量级数据交换格式,它是构建 Web 应用程序和服务的理想选择。在开发中,我们经常需要解析 JSON 数据并进行计算。这里我们将介绍如何解析 JSON 串并进行计算。
// 假设我们有以下 JSON 串数据 var products = { "book": [ {"name": "JavaScript 高级程序设计", "price": 56.00}, {"name": "HTML5 Canvas", "price": 38.00}, {"name": "CSS 权威指南", "price": 45.00} ], "mobile": [ {"name": "iPhone 11 Pro Max", "price": 9299.00}, {"name": "HUAWEI Mate 30 Pro", "price": 5799.00} ] }; // 计算书籍的总价格 var books = products.book; var total = 0; for (var i = 0; i < books.length; i++) { total += books[i].price; } console.log(total); // 139.00
上面的代码中,我们首先声明了一个 JSON 串数据,然后取出书籍的信息,使用循环计算书籍总价,并打印出结果。
// 解析 JSON 串数据 var jsonStr = '{"name":"Tom","age":20}'; var jsonObj = JSON.parse(jsonStr); console.log(jsonObj.name); // Tom // 计算年龄平均值 var jsonStr = '[{"name":"Tom","age":20},{"name":"Mike","age":25},{"name":"Jack","age":30}]'; var jsonObj = JSON.parse(jsonStr); var ages = jsonObj.map(function(item) { return item.age; }); var avgAge = ages.reduce(function(prev, cur) { return prev + cur; }) / ages.length; console.log(avgAge); // 25
上面的代码中,我们先使用 JSON.parse() 方法将 JSON 串解析为 JSON 对象,然后进行相应的计算。在计算年龄平均值时,使用了 map() 方法将 JSON 对象转化为年龄数组,然后使用 reduce() 方法计算平均值并打印结果。