簡體   English   中英

從PHP向Web服務發送HashMap參數

[英]Sending HashMap parameter to Web Service from PHP

實際上,問題在於如何做,而是如果這是一個設計錯誤。 我很擔心,因為我已經閱讀了很多關於在WS中僅使用標准數據類型的內容。 但是,我實現一個接收HashMap並使用nuSoap從PHP填充該參數沒有問題。

我有一個帶有這個成員的ParameterBean類(當然還有getter和setter),其中包含一個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服務出現問題,但哈希映射不屬於該類別,應該毫無顧慮地使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM