首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跨平台传输类型化对象

跨平台传输类型化对象
EN

Stack Overflow用户
提问于 2011-11-05 03:37:54
回答 3查看 60关注 0票数 0

我想创建某种类型的web API (我对协议没有偏好),其中服务器使用Java,客户端使用PHP。

我希望请求和响应都是对象(类的实例,而不是JSON样式的散列)。对象的字段可以是原始类型或其他对象。我将在客户端和服务器代码中定义所有必需的类。PHP和Java有相似的对象模型,所以用这两种语言编写相应的类应该不难。

要实现这一点,需要有一些自动化的方法来序列化一个对象,而在另一端反序列化它。它需要知道哪个PHP类映射到哪个Java类,以及如何转换字段。我可以写一些东西,但是有没有像这样传输对象的现有协议?这可以通过SOAP实现吗?

EN

回答 3

Stack Overflow用户

发布于 2011-11-05 03:56:25

Java和PHP对象不能互换。您必须定义两端的对象类型,传输协议可以是您喜欢的任何类型。

对于类似记录的对象:{"_type":"MyCoolObjectType","a":1,"b":2,"c":3"}

如果你想写一次,然后到处使用,我建议你在两端使用相同的语言,否则你必须有一个可以在你选择的语言之间进行翻译的编译器。

票数 2
EN

Stack Overflow用户

发布于 2011-11-05 04:02:41

只要请求/响应不是很复杂,SOAP web服务就可以处理基本的抽象。您可以在java中创建类,然后让API为它们导出WSDL。

票数 1
EN

Stack Overflow用户

发布于 2011-11-05 04:06:53

用于序列化的PHP格式和格式是不同的,因此不兼容。您需要一种通用的交换格式,我建议您不要使用PHP的格式。但是,在PHP中序列化的函数相当简单,如果您选择使用它,这些函数包含在PHP源代码的ext/standard/var.c文件中。

查看以下内容:

  • Unserialize in Java a serialized php object -与yours.
  • http://en.wikipedia.org/wiki/Serialization#Serialization_formats
  • http://en.wikipedia.org/wiki/XML
  • XML, API, CSV, SOAP! Understanding the Alphabet Soup of Data Exchange

类似的问题

来自(重点是我的):

虽然XML的设计侧重于文档,但它被广泛用于表示任意数据结构,例如在web服务.

中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8014843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档