java - 从 PHP 向 Web 服务发送 HashMap 参数

标签 java php web-services hashmap nusoap

实际上,问题不是如何去做,而是如果它是一个设计错误。我很担心,因为我已经阅读了很多关于在 WS 中仅使用标准数据类型的内容。但是,我在实现一个接收 HashMap 并使用 nuSoap 从 PHP 填充该参数的过程中没有遇到任何问题。

我有一个包含这些成员(当然还有 getter 和 setter)的 ParameterBean 类,其中包括一个 HashMap。

private int ID;
private String value;
private String name;
private HashMap<Integer, String> map = new HashMap<Integer, String>();

以及从此类接收实例的服务。然后从我调用的 PHP 客户端:

$map = array(1 => 'Foo', 2 => 'Bar');
$paramsp = array(
    'ID' => '1',
    'value' => 'Some Value',
    'name' => 'A Name',
    'map' => $map
);
$params = array($paramsp);
$resp = $client->call('test',$params);
print_r($client->response);

它就像一个魅力!问题是:这是不受欢迎的吗?这会以某种方式导致将来头痛吗?

最佳答案

HashMap 是一种非常棒的标准数据类型,在 Web 服务中使用时应该不会出现任何问题。

如您所见,PHP 和 Java 都可以轻松处理散列映射。 JSON支持它们(尽管它们被称为“对象”,并且没有 Java 的显式类型)。

虽然真正深奥的数据类型可能会给预期可广泛互操作的 Web 服务带来问题,但 HashMap 不属于该类别,应该放心使用。

关于java - 从 PHP 向 Web 服务发送 HashMap 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11689741/

相关文章:

Java 缺乏模板继承导致了 Android 中主要的代码重复问题。任何解决方案?

java - 如何使相对布局半透明但不使 Activity 半透明

java - GlassFish 中的 "java.version"值比控制台上的值旧

php - 如果直接使用 PHP 访问,则将访问者重定向到另一个页面

java - 长时间运行的Web服务架构

wcf - ServiceBehaviour 的命名空间对于 Web 服务版本控制重要吗?

java - Hibernate 在表之间移动记录

php - 如何在默认情况下选中复选框并从 Laravel 中的数据库中检索旧值

php从mysql解码二进制(16)ip

web-services - 用grails调用Web Services的异常