分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

巧用underscore.js处理复杂的json

发布时间:2023-09-06 01:43责任编辑:顾先生关键词:jsjson

underscore.js是非常小巧的js工具库,特别方便处理数组,对象,json等


引入underscore.js:

var _ = require(‘underscore‘);

原始api列表

{ ?liveSessionDTOS: [ ???{ ?????sessionId: "xx", ?????userId: xx, ?????..... ?????playingGame: false, ?????gameSessionDTO: null, ?????liveScore: { ???????.... ?????} ???} ?]}

我们关心的是gameSessionDTO,这个游戏列表里的游戏是不固定的,要按游戏计数并存入mysql。如果每个游戏一列是不行的,因为无法确定。所以只能把json存到一个string列中(ps:mysql 5.7支持json列了,但本文不用)

var gameinfos = _.compact(_.pluck(liveList, ‘gameSessionDTO‘));

pluck是按属性提取为一个数组,compact是过滤掉js false的数据,这里是过滤空值,这样就做成了

{ ???gameId: 2, ???icon: "xxx", ???name: "game a"}

的列表,然后我们再用countby按name统计

var game_online = _.countBy(gameinfos, function (g) { ???return g.name;});

就得到了我们要的json并存入mysql

解析的部分:

从mysql里读出来后,利用_.pick抽取需要的属性为一个新的json,结合其他方法再行处理

常用方法:

_.chain:像jquery一样的链式操作,如_.chain(xx).compact().map(function(g){return g.name;}).value()

_.map, _.reduce:经典的mapreduce方法

_.clone:深拷贝一个对象,数组。生成完全不同的对象

巧用underscore.js处理复杂的json

原文地址:https://www.cnblogs.com/elsonwe/p/8463121.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved