私は配列をphpの「クライアント」からJavaの「サーバー」に渡そうとするコースワークに取り組んでいます。PHP で配列を作成し、json_encode でエンコードして、StringVariable.readLine() を使用してサーバー サイトで受け取ります。私の問題:
php 配列の値は、Java では配列の 1 つの値として受け取られます。コードと出力を見てください。
PHP - 「送信者」として
$array = array("foo", "bar", "hallo", "world");
$array2 = json_encode($array);
//var_dump($array);
$socket = fsockopen($server, $port, $eN, $eS);
if ($socket)
{
fwrite($socket, $array2);
Java - 「レシーバー」として
BufferedReader in = new BufferedReader(new InputStreamReader(socket1.getInputStream()));
while ((in1 = in.readLine()) != null)
{
String[] Decoder = {in1};
System.out.println(Arrays.asList(Decoder));
結果
[["foo","bar","ハロー","ワールド"]]
私は一般的に、LAN経由でPHPからJAVAに配列を渡すソリューションを探しています。どんな解決策も素晴らしいでしょう.. serialize()も試しましたが、受け取ったものは
[a:4:{i:0;s:3:"foo";i:1;s:3:"bar";i:2;s:5:"ハロー";i:3;s:5: "世界";}]
助けていただければ幸いです!!! ありがとう!