Protocol buffe vs Json 为什么还会大量使用Json?

news2024/11/22 10:26:58

JSON:的最大优点就是可读性好,但是体积大。

Protocol Buffers:最大的特点就是体积小,传输需要带宽小,速度快。但是可读性较差

尽管JSON和Protobuf消息可以互换使用,但这些技术的设计目标不同。JSON代表JavaScript Object Notation,它是一种简单的消息格式,源自JavaScript语言子集。JSON消息以文本格式交换,现在,JSON与JavaScript完全独立,事实上,JSON几乎支持所有编程语言。

还有2个场景能更为充分的利用JSON的优势

  1. 元数据存储

  2. 用户画像

在做一些类似CMDB这样的系统时,一些数据并无法一开始就定义好固定的列,后续可能还会增加。

这时利用JSON类型的非结构化存储,可以非常方便的存储上述数据。

比如,存储服务器的元信息,其中每台服务器上有多块磁盘。

这个用关系型就不太好表达,但是用JSON类型就很好描述

关于JSON一些实用工具:

jsoneditoronline

网址:https://jsoneditoronline.org/

jsoneditoronline是一个简单、灵活、可视化在线的JSON编辑器,支持差异化对比,可查看、编辑和格式化JSON数据,json格式是开发中比较常见的,json阅读和格式化就是一个常见的工作,用了这个工具,其他的突然就不香了呢!

[1] JSONLint: JSON Online Validator and Formatter - JSON Lint

[2] JSONLint GitHub: https://github.com/circlecell/jsonlint.com

[3] JSONCompare: JSONCompare - The Advanced JSON Linting & Comparison Tool

[4] JSONCompare GitHub: https://github.com/circlecell/jsoncompare.com

[5] GitHub JTC: https://github.com/ldn-softdev/jtc#compile-and-install-instructions

[6] PyPI ijson: (ijson · PyPI )

[7] JSON格式化和验证器: JSON Formatter & Validator

[8] Altova XMLSpy: Download XML Editor | Altova

[9] Code Beautify JSON: Collection of JSON Tools Online

[10] Visual Studio Code: Download Visual Studio Code - Mac, Linux, Windows

[11] Eclipse JSON: JSON Editor Plugin | Eclipse Plugins, Bundles and Products - Eclipse Marketplace


前端学习站,有用记得收藏哦~~~
web 入门
Html5+css:

前端开发入门教程,web前端零基础html5 +css3+前端项目视频教程
web 进阶:web前端进阶教程,前端html5+css3+移动端项目实战(含华为新闻,b站移动端等)

技术进阶
JavaScript:JavaScript全套教程,Web前端必学的JS入门教程,零基础JavaScript入门
DOM BOM:JavaScript核心教程,前端基础教程,JS的DOM BOM操作教程
jQuery:前端基础教程|jQuery网页开发案例精讲
Ajax:AJAX零基础到精通_整合Git核心内容全套教程

Vue 开发
Node.js: Node.js全套入门教程,nodejs新教程含es6模块化+npm+express+webpack+promise等_Nodejs实战案例详解
Vue2+Vue3全套:Vue全套视频教程,从vue2.0到vue3.0一套全覆盖,前端学习核心框架教程

React &小程序开发
React:前端React视频教程,react零基础入门原理详解到好客租房项目实战
零基础玩转微信小程序:前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(含uni-app项目多端部署)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/65982.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【元胞自动机】格子波尔兹曼模型及其应用研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

我去!Python 不愧是脚本之王,这 23 种命令行用法你全部 get 了吗?

1. 快速打印函数的调用栈 在阅读源码的时候,有时候我们想要看整个程序的调用栈是怎样的? 比较常规的做法是使用全局搜索函数,一层一层往上走,效率非常之低。 而我习惯了使用 pdb 对代码进行调试,在使用pdb时&#x…

vscode环境中配置git

1. 建立project空目录用于存放electron基本环境这个环境中得文件不能加入git项目中否则每次更新文件太大github不支持大于100M得文件上传 2. 使用vscode打开project目录 3.打开终端运行npm install electron 运行完成后会生成electron相关得两个json文件和一个文件夹 4.新建一个…

读取图片输出字符图案:用字符输出足球的图案

用字符输出足球的图案前言功能描述实现思路代码实现1️⃣ 获取像素点的RGB数值2️⃣ 判断每个像素点的RGB值是否符合3️⃣ main方法结果测试前言 世界杯,如火如荼的进行着,作为程序员也参加一下活动,蹭一下世界杯的热度 功能描述 通过读取足球…

跨行新手学习并备考阿里云云计算专业认证ACP大概需要多长时间呢?

先来了解一下阿里云认证: 阿里云认证是基于核心技术及岗位的权威认证, 阿里云针对不同产品类别、用户成长阶段、生态岗位,精心打造不同的认证考试。 个人:证明您在对应技术领域的专业度,能够基于阿里云产品解决实际问…

(附源码)spring boot投票系统 毕业设计 261136

基于springboot投票系统 摘 要 在科学管理机制越来越完善的今天,投票管理者只能依赖手工记录数据,这不仅仅浪费时间,并且对人力也是一种浪费,不能做到随时监控,对数据的准确性和及时性也是一种影响。所以投票非常急需一套既有与时…

Python到底适合什么后端团队和项目?

前言 1、我的Python从业经历 本人从2015年开始基本上都在使用Python语言,主要做扫描器、分布式任务、后台接口、AI、图像和3D点阵处理、数据接收处理等等,也待过几个公司,所在部门基本上也是多种语言的开发小组都有,统计了下如下…

JAVA五子棋手机网络对战游戏的设计与实现(源代码+论文)

五子棋网络对战游戏的设计与实现 论文作者姓名:申请学位专业:申请学位类别:指导教师姓名(职称):论文提交日期: 五子棋网络对战游戏的设计与实现 摘 要 在现代社会中,及其它无线设备越来越多的…

铁矿行业BI经营分析框架(四)经营分析

在中国大部分的铁矿企业集团都是有央国企背景的,都是属于一个大集团下的二级集团性企业。所以,首先是需要背上集团下发的经营业绩指标的,这个一定是整个经营管理分析的核心要重点关注。 业绩情况 第一个分析要点就是这家企业集团在整个集团中…

Matplotlib入门[04]——处理图像

Matplotlib入门[04]——处理图像 参考: https://ailearning.apachecn.org/Matplotlib官网 图片来源:百度(如有侵权,立删) 使用Jupyter进行练习 import matplotlib.pyplot as plt import matplotlib.image as mpimg imp…

sqlserver时间字段索引失效,重建后索引又正常了

文章目录前言索引相关操作1 、查看全部索引信息2 、重建所有表索引3 、查看某个表索引信息4 、重建某个表索引查询索引字段说明执行修复索引字段前言 这几天被一个项目搞得烦死了,客户老是反馈后台查询前一天注册的用户数据失败,看了错误日志&#xff0…

【Java面试】能说说你对volatile关键字的理解吗?

文章目录volatile能否保证线程安全?原子性可见性有序性volatile能否保证线程安全? 下文使用到了javap命令进行class文件的反汇编来查看字节码,如果想要了解的可以学习一下javap命令。 什么是javap命令 javap命令的参数 要解决这个问题首先要…

【数据库】数据库的慢查询问题

现象: 在压测过程中发现接口返回数据非常慢,甚至超时,页面加载不出数据 问题定位:如果有慢查询怎么恢复? 1.查看服务日志,打印连接数据库超时,接口返回超时 查看数据库所在节点cpu占用很高使…

夯实算法-跳跃游戏

题目:LeetCode 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入: nums [2,3,1,1,4] 输出: tru…

【测试沉思录】23. 如何实现基于场景的接口自动化测试用例?

作者:陈爱娇 编辑:毕小烦 自动化本身是为了提高工作效率,不论选择何种框架,何种开发语言,我们最终想实现的效果,就是让大家用最少的代码,最小的投入,完成自动化测试的工作。 基于这…

EMQ 宣布推出 LF Edge eKuiper 全新 Logo 标识

全球领先的开源物联网数据基础设施软件供应商 EMQ 映云科技宣布,即日起,将正式启用全新的 LF Edge eKuiper(以下简称 eKuiper)产品 Logo。焕然一新的 eKuiper 产品 Logo 标志着 EMQ 在不断提升品牌全球化战略之上,对于打造高性能、高可用、高安全的世界级开源软件产品的极致追求…

关于密码设置

使用一个密码并在数据泄漏时保护自己的其它账号 关于密码 现在好多软件,好多网站都需要我们设置密码,这个时候我们的处理办法一般分为2种。 对不同的软件设置不同的密码,这种理论上是最安全的,但是记不住啊,所以不实…

Letbook Cookbook题单——数组二分与双指针

Letbook Cookbook题单——数组二分与双指针 1. 两数之和 难度:简单 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。…

Locust学习记录5-任务属性【Task】

Task 当负载测试开始时,将为每个模拟用户创建一个User类的实例,他们将开始在自己的绿色线程中运行。当这些用户运行时,他们选择他们执行的任务,休眠一段时间,然后选择一个新任务。 这些任务时普通的python可调用文件…

windows环境下python连接openGauss数据库

文章目录一、python 介绍二、Python下载及安装三、openGauss Connectors (Psycopg2) 介绍四、openGauss Connectors (Psycopg2)下载并初始化五、连接并访问openGauss数据库六、问题总结(FAQ)一、python 介绍…