当前位置:   article > 正文

C++之通信数据交换JSON

C++之通信数据交换JSON

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript语言的一个子集,但采用完全独立于语言的文本格式,这些特性使得JSON成为理想的数据交换语言。

优点如下:

  1. 数据序列化: 在发送数据前,将复杂的数据结构(如对象或数组)转换(序列化)为JSON格式的字符串。这一点在Web开发中尤为重要,因为HTTP协议通常用于传输文本数据。

  2. 跨语言交换: JSON格式独立于任何编程语言,大多数现代编程语言都提供了解析JSON的工具。这意味着一个用Java编写的服务器可以发送JSON数据给一个用JavaScript编写的Web客户端,客户端可以轻松理解和处理这些数据。

  3. API接口: 许多Web API使用JSON格式来提供公共接口,让开发者可以访问其数据和功能。这促进了不同服务之间的集成,因为开发者只需了解如何处理JSON数据即可与这些API交互。

  4. 网络效率: 相比其他数据表示方式(如XML),JSON通常更加紧凑,可以减少网络传输的数据量,因此通信更快。

  5. 易于解析和生成: JSON的结构简单,易于编程语言解析和生成,这使得基于JSON的数据传输在编程中易于实现。

在C++的网络通信中,JSON是很普遍的,尤其是写接口时,接口文档里普遍是JSON,简洁易于理解,还在用XML的,基本是过时的技术了。

1.与http通信时

与http通信时,在HTTP请求的上下文中,https://mp.csdnmm.net/mp_blog/creation/editor/139330424 是一个URL(统一资源定位符),它指向一个特定的网络资源

根据URL,就可以定位到发送请求的位置,从而传递到body中附带json参数给网页,或者根据指定接口的参数获取网页中的数据。

2.与tcp通信时

在tcp通信中,没有URL这种指定,所以在传递的json数据中,需要添加一个方法,用于接收这个tcp的客户端/服务器解析,从而区分请求的方法

如在一个心跳检测接口中tcp发送的json参数如下:

  1. {
  2. "method": "heartbeatCheck",
  3. "timeStamp": 94877257833
  4. }

如在一个控灯接口中tcp发送的json参数如下:

  1. {
  2. "method": "ControlLight",
  3. "data": {
  4. "type": 1,
  5. "state": 0,
  6. "color": 2,
  7. "position": [
  8. {
  9. "row": 1,
  10. "column": 2
  11. }
  12. ]
  13. }
  14. }

然后相互通信的服务器/客户端就可以根据method这个参数,判断指定请求,就相当于URL了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/689010
推荐阅读
相关标签
  

闽ICP备14008679号