`
qiujiayu
  • 浏览: 170507 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

跨语言调用数据格式有多少种?

阅读更多

   现在开发语言是越来越多,它们之间的通信也成了我们所关注的事情。在我这几年的工作中了解到一些用于跨平台的数据交换格式:XML、JSON、Hessian Binary、PHP 序列化格式、MessagePack。

一、XML

    XML估计是大家最为熟悉的数据交换格式了。基于XML的协议也是非常之多,SOAP就是其中之一。

 

二、JSON

     关于JSON的介绍:http://www.json.org/json-zh.html

三、Hessian Binary

    关于Hessian Binary 介绍,请访问 http://hessian.caucho.com/。

四、PHP 序列化格式

    关于 PHP 序列化格式的介绍,请访问:http://www.phprpc.org/zh_CN/

   http://www.phprpc.org/zh_CN/docs/#[[PHP 序列化概述]]

 

    PHP 序列化格式是一种超轻量级的数据交换格式,易于机器解析和生成。同时也易于人阅读。它最初在 PHP 3.05 中被引入,之后在 PHP 4、PHP 5、PHP 6 中被继承并发展。其中 PHP 3 序列化格式已经过时。PHP 4 序列化格式是 PHP 5 序列化格式的子集,PHP 5 序列化格式是 PHP 6 序列化格式的一个子集,本文所述的 PHP 序列化格式是指 PHP 6 序列化格式,它包含了 PHP 4 和 PHP 5 序列化格式的所有内容。PHP 序列化格式实际上是完全独立于语言的半文本格式,它不但支持 JSON 所支持的所有数据类型和结构,而且支持对象和引用结构。这些特性使 PHP 序列化格式成为更为理想的数据交换格式。

PHP 序列化格式是半文本格式,对于数字,它是采用十进制数字字符串来表示的,因此不存在字节序问题,非常有利于跨平台跨语言实现。但是对字母大小写和空白(空格、回车、换行 等)敏感,因此,又非常利于机器解析。

 

五、MessagePack

      关于MessagePack : http://msgpack.sourceforge.net/

 

如果哪位朋友对这些技术有兴趣,可以在这里一起谈论一下。

如果你们还有更好的技术,希望能分享一下。

 

web service 技术在现在的企业中是应用比较多的,但如果要真正掌握SOAP协议,是件比较难的事情,所以我也一直在想,我们在什么情况下,必须要用WebService,什么时候能用其它比较简单的技术来替代呢?

分享到:
评论

相关推荐

    android项目之aidl跨进程调用举例Demo

    3. 实现接口-AIDL编译器从AIDL接口文件中利用Java语言创建接口,该接口有一个继承的命名为Stub的内部抽象类(并且实现了一些IPC调用的附加方法),要做的就是创建一个继承YourInterface.Stub的类并且实现在.aidl文件...

    Android应用程序四大组件之使用AIDL如何实现跨进程调用Service

    在上一篇我们通过ContentProvider实现了不同应用之间的跨进程调用,但ContentProvider主要是提供数据的共享(如sqlite数据库),那么我们希望跨进程调用服务(Service)呢?Android系统采用了远程过程调用(RPC)...

    JNI--java调用不同平台的动态链接库,dll,so,完美,全教程

    假如有一个现有的 .dll/.so 文件,假如使用 JNI 技术调用,我们首先需要另外使用 C 语言写一个 .dll/.so 共享库,使用 SUN 规定的数据结构替换 C 语言的数据结构,调用已有的 ? dll/so 中公布的函数。 然后再在 Java...

    OPC Client WebAPI跨平台调用程序(RestFul风格)

    1.C#语言OPC client通信组件,能够快速的读取标签的值,使用方面,只需要简单的配置TAG就可以完成...2.支持跨平台远程获取OPC TAG的数据,能读能写,采用RestFul API风格,解决了以往OPC远程调用需要配置DCOM的问题。

    OPC Client WebAPI跨平台调用程序(RestFul风格) V2.0

    1.C#语言OPC client通信组件,能够快速的读取标签的值,使用方面,只需要简单的配置TAG就可以完成数据...支持跨平台远程获取OPC TAG的数据,能读能写,采用RestFul API风格,解决了以往OPC远程调用需要配置DCOM的问题。

    一种大数据智能分析平台的数据分析方法及实现技术.doc

    2.6 准实时数据 通常准实时数据是指数据存储在平台本身,但更新频率接近于接口调用数据源 的数据。适合用于支持数据和信息的查询,但数据的再处理度不高,具有计算并发度高 、数据规模大、结果可靠性较高的特点。...

    rosbridge网页调用小海龟测试通过

    有了该功能后可以通过跨平台调用相关数据信息。后续开发可以方便查看机器人相关姿态,剩余电量等数据。 是ROS机器人与平台交互的可靠通过方式之一。 机器人开发的必须课程之一。 在开源软件的基础上修改。 学习ROS...

    Android aidl跨进程调用源码例子+详解

    摘要:Java源码,Android源码,AIDL,跨进程调用 这两天在学习aidl跨进程调用,研究了一天终于写出了个helloword……开发aidl跨进程调用,主要分以下步骤:  1.创建.aidl文件-该文件(YourInterface.aidl)定义了...

    anyvalue:高性能数据序列化库,支持C++ java python php objectc 语言,兼容json数据格试,可以互相转换,跨语言交换数据,网络传输,远程调用

    anyvalue高性能数据序列化库,支持C++ java python php objectc 语言,兼容json数据格试,可以互相转换php$obj['abc']='dasdasdsa';$obj['bcd']=10000;$obj['name']="sssssss";$obj['urls']=array('');$obj['info']...

    go语言gin框架数据绑定常用api

    go语言的gorouting和channel的组合,让并发更为简单,通过简单的api的调用,让锁定,开锁,解锁变得轻而易举,有了那么简单的锁的配合,让并发变得像上厕所那样简单了。gin提供快速数据绑定api,可以通过ShouldBind...

    Android-对OkHttp3请求库简单封装适配Json-Rpc调用协议

    json-rpc是基于json的跨语言远程调用协议,比xml-rpc、webservice等基于文本的协议传输数据格小;相对hessian、java-rpc等二进制协议便于调试、实现、扩展,是非常优秀的一种远程调用协议。

    C#、java 字符流跨平台数据解压缩

    C#的using真好用,Java的类似语言特性在1.7才支持... Java,用Session Bean建立了一个简单的WebService,提供一个简单的调用SayHello,然后C#里建立一个winform应用,添加服务引用,引用Java的webservice WSDL。

    Webservice

    2. 一个跨语言、跨平台的规范(抽象) 3. 多个跨平台、跨语言的应用间通信整合的方案(实际) 以各个网站显示天气预报功能为例: 气象中心的管理系统将收集的天气信息并将数据暴露出来(通过WebService Server), 而各...

    Silverlight学习和json

    Microsoft Silverlight 是一种跨浏览器、跨平台的 .NET Framework 实现,用于为 Web 生成和提供下一代媒体体验和丰富的交互式应用程序 (RIA)。Silverlight 统一了服务器、Web 和桌面的功能,统一了托管代码和动态...

    大四毕业设计做的基于树莓派的人脸识别系统(调用百度云api).zip

    Python是一种高级、通用、解释型的编程语言,由Guido van Rossum于1989年发起,1991年正式发布。Python以简洁而清晰的语法著称,强调代码的可读性和易于维护。以下是Python的一些主要特点和优势: 易学易用: ...

    webservice服务端

    WebService就是一种跨编程语言和跨操作系统平台的远程调用技术。所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然。跨操作系统平台则是指服务端程序和...

    MATLAB图形界面编程方法论总结 MATLAB的GUI数据传递总结 共16页.pdf

    其实Matlab提供了很多种直接或间接方法实现多fig中的数据共享,只是大家没有注意 罢了: 1、全局变量 2、作为函数的参数传递 3、利用控件的userdata数据 4、为handles结构体添加新字段 5、setappdata函数为句柄添加...

    Dubbo简介.docx

    多个短连接,基于 HTTP 传输,同步传输,适 用系统集成和跨语言调用; . http : 基于 Http 表单提交的远程调用协议,使用 Spring 的 HttpInvoke 实 现。多个短连接,传输协议 HTTP,传入参数大小混合,提供者

    基于源代码的软件同源性分析与漏洞检测系统

    跨语言同源性为 c 语言与其它语言的对比检测。 我选择的系统环境为: Win10 VS2019 QT 1.4 实验过程记录 提供系统界面 所有功能要有图形界面展示,形成完整的软件系统.可以使用 VS/QT/Python 等工具实现。 利用...

    JS API 接口接收与返回

    是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。...

Global site tag (gtag.js) - Google Analytics