当前位置: 首页 > news >正文

网站建设业务员话术合肥网站建设公司

网站建设业务员话术,合肥网站建设公司,营销策划方案的目的,中企动力定制化官网前言 最近项目中需要做埋点分析,首先就需要对埋点日志进行解析处理,刚好这时候体验对比了下fastjson和jackson两者使用的区别,以下分别是针对同一个json串处理,最终的效果都是将json数据解析出来,并统一展示。 一、fa…

前言

最近项目中需要做埋点分析,首先就需要对埋点日志进行解析处理,刚好这时候体验对比了下fastjson和jackson两者使用的区别,以下分别是针对同一个json串处理,最终的效果都是将json数据解析出来,并统一展示。


一、fastjson简介?

fastjson是由国内的阿里推出的一种json处理器,由java语言编写,无依赖,不需要引用额外的jar包,能直接运行在jdk环境中,它的解析速度是非常之快的,目前超过了所有json库。
提示:以下是引用fastjson的方法,数据未涉及到私密信息

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonProcessingException;public class FastJsonTest {public static void main(String[] args) throws JsonProcessingException {String json = "{\n" +"    \"distinct_id\": \"77\",\n" +"    \"identities\":\n" +"    {\n" +"        \"$identity_mp_id\": \"37\",\n" +"        \"$identity_login_id\": \"77\",\n" +"        \"$identity_mp_wx17a032a586c19379_openid\": \"oiF\",\n" +"        \"$identity_anonymous_id\": \"oiF\"\n" +"    },\n" +"    \"lib\":\n" +"    {\n" +"        \"$lib\": \"MiniProgram\",\n" +"        \"$lib_method\": \"code\",\n" +"        \"$lib_version\": \"1.17.7\"\n" +"    },\n" +"    \"properties\":\n" +"    {\n" +"        \"$lib\": \"MiniProgram\",\n" +"        \"$lib_version\": \"1.17.7\",\n" +"        \"$network_type\": \"WIFI\",\n" +"        \"$brand\": \"IPHONE\",\n" +"        \"$manufacturer\": \"iPhone\",\n" +"        \"$model\": \"iPhone 12 Pro Max<iPhone13,4>\",\n" +"        \"$screen_width\": 428,\n" +"        \"$screen_height\": 926,\n" +"        \"$os\": \"iOS\",\n" +"        \"$os_version\": \"14.2.1\",\n" +"        \"$mp_client_app_version\": \"8.0.44\",\n" +"        \"$mp_client_basic_library_version\": \"3.2.5\",\n" +"        \"$timezone_offset\": -480,\n" +"        \"$app_id\": \"wx17a039\",\n" +"        \"$app_version\": \"1.3\",\n" +"        \"platform_type\": \"小程序\",\n" +"        \"product_name\": \"小程序\",\n" +"        \"member_flag\": false,\n" +"        \"member_level\": \"非会员\",\n" +"        \"$latest_scene\": \"wx-10\",\n" +"        \"$scene\": \"wx-10\",\n" +"        \"$url_path\": \"pages/Common/Url/index\",\n" +"        \"$title\": \"照明\",\n" +"        \"$url_query\": \"\",\n" +"        \"$referrer\": \"pages/Common/Url/index\",\n" +"        \"$referrer_title\": \"照明\",\n" +"        \"$url\": \"pages/Common/Url/index\",\n" +"        \"$is_first_day\": false,\n" +"        \"$ip\": \"11.11.11.11\",\n" +"        \"$browser\": \"WeChat\",\n" +"        \"$browser_version\": \"8\",\n" +"        \"$track_signup_original_id\": \"oiF\",\n" +"        \"$is_login_id\": true,\n" +"        \"$ad_extra_properties\": \"{\\\"sdf_channel_closed\\\":false}\",\n" +"        \"$city\": \"上海\",\n" +"        \"$province\": \"上海\",\n" +"        \"$country\": \"中国\"\n" +"    },\n" +"    \"login_id\": \"77\",\n" +"    \"anonymous_id\": \"oiF\",\n" +"    \"type\": \"track\",\n" +"    \"event\": \"$MPShow\",\n" +"    \"_track_id\": 5692,\n" +"    \"time\": 1703,\n" +"    \"_flush_time\": 17032,\n" +"    \"device_id\": \"oiFOU\",\n" +"    \"project_id\": 2,\n" +"    \"map_id\": \"oiFOU\",\n" +"    \"user_id\": -4011,\n" +"    \"recv_time\": 1703,\n" +"    \"extractor\":\n" +"    {\n" +"        \"f\": \"sdf_input_topic\",\n" +"        \"o\": 379,\n" +"        \"n\": \"sdf_input_topic\",\n" +"        \"s\": 379,\n" +"        \"c\": 379,\n" +"        \"p\": 1,\n" +"        \"e\": \"hyb\"\n" +"    },\n" +"    \"edge_progress\":\n" +"    {\n" +"        \"f\": \"(dev=821,ino=537178209)\",\n" +"        \"n\": \"access_log.2023122213\",\n" +"        \"o\": 1400687,\n" +"        \"s\": 37229603,\n" +"        \"c\": 37229604,\n" +"        \"e\": \"hybr\"\n" +"    },\n" +"    \"project\": \"test\",\n" +"    \"ver\": 2\n" +"}";JSONObject jsonObject = JSON.parseObject(json);new FastJsonTest().travelJSONObject(jsonObject);}public void travelJSONObject(JSONObject originalJSONObject) {for (String key : originalJSONObject.keySet()) {    StringBuilder path = new StringBuilder(key);Object value = originalJSONObject.get(key);if (value instanceof String || value instanceof Number || value instanceof Boolean) {System.out.println(key + " : " + value);continue;}if (value instanceof JSONObject) {JSONObject object = (JSONObject) value;travelJSONObject(object);}}}
}

二、jackson简介

jackson是用来序列化和反序列化json的java开源框架,社区相对比较活跃,更新速度较快,是最流行的json解析器之一,也是Spring MVC默认json解析器。
提示:以下是引用jackson的方法,数据未涉及到私密信息

import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonProcessingException;
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.JsonNode;
import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Iterator;public class JacksonTest {public static void main(String[] args) throws JsonProcessingException {String json = "{\n" +"    \"distinct_id\": \"77\",\n" +"    \"identities\":\n" +"    {\n" +"        \"$identity_mp_id\": \"37\",\n" +"        \"$identity_login_id\": \"77\",\n" +"        \"$identity_mp_wx17a032a586c19379_openid\": \"oiF\",\n" +"        \"$identity_anonymous_id\": \"oiF\"\n" +"    },\n" +"    \"lib\":\n" +"    {\n" +"        \"$lib\": \"MiniProgram\",\n" +"        \"$lib_method\": \"code\",\n" +"        \"$lib_version\": \"1.17.7\"\n" +"    },\n" +"    \"properties\":\n" +"    {\n" +"        \"$lib\": \"MiniProgram\",\n" +"        \"$lib_version\": \"1.17.7\",\n" +"        \"$network_type\": \"WIFI\",\n" +"        \"$brand\": \"IPHONE\",\n" +"        \"$manufacturer\": \"iPhone\",\n" +"        \"$model\": \"iPhone 12 Pro Max<iPhone13,4>\",\n" +"        \"$screen_width\": 428,\n" +"        \"$screen_height\": 926,\n" +"        \"$os\": \"iOS\",\n" +"        \"$os_version\": \"14.2.1\",\n" +"        \"$mp_client_app_version\": \"8.0.44\",\n" +"        \"$mp_client_basic_library_version\": \"3.2.5\",\n" +"        \"$timezone_offset\": -480,\n" +"        \"$app_id\": \"wx17a039\",\n" +"        \"$app_version\": \"1.3\",\n" +"        \"platform_type\": \"小程序\",\n" +"        \"product_name\": \"小程序\",\n" +"        \"member_flag\": false,\n" +"        \"member_level\": \"非会员\",\n" +"        \"$latest_scene\": \"wx-10\",\n" +"        \"$scene\": \"wx-10\",\n" +"        \"$url_path\": \"pages/Common/Url/index\",\n" +"        \"$title\": \"照明\",\n" +"        \"$url_query\": \"\",\n" +"        \"$referrer\": \"pages/Common/Url/index\",\n" +"        \"$referrer_title\": \"照明\",\n" +"        \"$url\": \"pages/Common/Url/index\",\n" +"        \"$is_first_day\": false,\n" +"        \"$ip\": \"11.11.11.11\",\n" +"        \"$browser\": \"WeChat\",\n" +"        \"$browser_version\": \"8\",\n" +"        \"$track_signup_original_id\": \"oiF\",\n" +"        \"$is_login_id\": true,\n" +"        \"$ad_extra_properties\": \"{\\\"sdf_channel_closed\\\":false}\",\n" +"        \"$city\": \"上海\",\n" +"        \"$province\": \"上海\",\n" +"        \"$country\": \"中国\"\n" +"    },\n" +"    \"login_id\": \"77\",\n" +"    \"anonymous_id\": \"oiF\",\n" +"    \"type\": \"track\",\n" +"    \"event\": \"$MPShow\",\n" +"    \"_track_id\": 5692,\n" +"    \"time\": 1703,\n" +"    \"_flush_time\": 17032,\n" +"    \"device_id\": \"oiFOU\",\n" +"    \"project_id\": 2,\n" +"    \"map_id\": \"oiFOU\",\n" +"    \"user_id\": -4011,\n" +"    \"recv_time\": 1703,\n" +"    \"extractor\":\n" +"    {\n" +"        \"f\": \"sdf_input_topic\",\n" +"        \"o\": 379,\n" +"        \"n\": \"sdf_input_topic\",\n" +"        \"s\": 379,\n" +"        \"c\": 379,\n" +"        \"p\": 1,\n" +"        \"e\": \"hyb\"\n" +"    },\n" +"    \"edge_progress\":\n" +"    {\n" +"        \"f\": \"(dev=821,ino=537178209)\",\n" +"        \"n\": \"access_log.2023122213\",\n" +"        \"o\": 1400687,\n" +"        \"s\": 37229603,\n" +"        \"c\": 37229604,\n" +"        \"e\": \"hybr\"\n" +"    },\n" +"    \"project\": \"test\",\n" +"    \"ver\": 2\n" +"}";ObjectMapper mapper = new ObjectMapper();JsonNode jsonNode = mapper.readTree(json);Iterator<String> keys = jsonNode.fieldNames();while (keys.hasNext()){String key = keys.next();JsonNode value = jsonNode.get(key);if(value instanceof JsonNode){Iterator<String> subkeys = value.fieldNames();while (subkeys.hasNext()){String subkey = subkeys.next();JsonNode subvalue = value.get(subkey);System.out.println(subkey + " : " + subvalue);}}else{System.out.println(key + ":"+ "\t" + jsonNode.get(key)) ;}}}
}

总结

分别对两个json解析器进行试用,个人感觉jackson代码比较优雅,类似java jdbc连接数据的使用规范,估计这也是国外特别喜欢用它的原因吧,而fastjson的感觉就是速度特别快,用起来也比较简单,注重实用性,当然了,上面只是一个简单的解析代码,并没有涉及到复杂的操作,由于时间关系,只是简单介绍下两者的使用方法,关于两者的使用,后续会结合项目中的场景持续更新。

http://www.yayakq.cn/news/293398/

相关文章:

  • 如何创建网站内容企业网站的功能列表
  • 集美网站建设网络公司经营范围可以加婚介吗
  • 做什么网站开发好服务周到的上海网站建设公
  • 做网站如何寻找客源婚纱影楼网站
  • 扁平化配色方案网站扬州做网站多少钱
  • 网站建设研究课题怎么开网站详细步骤
  • 网站开发好了 怎么发布wordpress 内容可以是表格吗
  • 建站软件安卓wordpress编辑主页
  • 自己做的网站怎么在移动端访问设计封面
  • 我们公司想做网络推广福州seo公司技术
  • p2p视频网站建设波密网站建设
  • 批量网站访问检测建设企业网站e路护航
  • 深圳送花网站哪个好制作花灯
  • 医院网站怎么做运营长沙网站托管seo优化公司
  • 微信网站怎么开发网站建设如何做账
  • 北京网站建设公司降龙冯提莫斗鱼前在哪个网站做直播
  • 深圳在建高铁站宿迁百度
  • 浙江住房和建设网站首页世界上最大的在线设计平台
  • 上饶市住房城乡建设局网站wordpress固定字段
  • 网站报价单网站模版怎么修改
  • 外贸网站运营是做什么的咨询公司网站建设
  • 网站备案信息保护湖南省郴州市天气
  • 专业建站工作室开源cms框架
  • 青岛制作企业网站的公司wordpress 图片模板修改
  • 拱墅区建设局网站.网站开发工具dw
  • php网站运行很慢无锡网站建设要多少钱
  • 建设个人网站第一步这么做均安网站建设
  • 查看网站开通时间网站开发费用属无形资产吗
  • 网站开发的后期维护怎么做购物网站到
  • wp做音乐网站必备公司建网站怎么弄