将数组 php 转换为 java


Convert array php to java

我正在开发一个包含java文件和php文件的应用程序。java文件调用php文件,这些文件在ddbb中执行查询并将结果作为数组php返回,但在屏幕中打印。我在 java 中把它当作一个字符串,我必须将其转换为数组或集合,但我不知道该怎么做。

php 打印的结果示例如下:

Array
(
[0] => Array
    (
        [id] => 1
        [0] => 1
        [name] => pepe
        [1] => pepe
    )
[1] => Array
    (
        [id] => 2
        [0] => 2
        [name] => antoñito
        [1] => antoñito
    )
[2] => Array
    (
        [id] => 3
        [0] => 3
        [name] => loló
        [1] => loló
    )
[3] => Array
    (
        [id] => 4
        [0] => 4
        [name] => ñoño
        [1] => ñoño
    )
[4] => Array
    (
        [id] => 5
        [0] => 5
        [name] => Antoñito
        [1] => Antoñito
    )
[5] => Array
    (
        [id] => 7
        [0] => 7
        [name] => José
        [1] => José
    )
)

如果我使用 json_encode($the_array),结果如下:

[{"id":"1","0":"1","name":"pepe","1":"pepe"},    {"id":"2","0":"2","name":"anto'u00f1ito","1":"anto'u00f1ito"},{"id":"3","0":"3","name":"lol'u00f3","1":"lol'u00f3"},{"id":"4","0":"4","name":"'u00f1o'u00f1o","1":"'u00f1o'u00f1o"},{"id":"5","0":"5","name":"Anto'u00f1ito","1":"Anto'u00f1ito"},{"id":"7","0":"7","name":"Jos'u00e9","1":"Jos'u00e9"}]

谢谢大家

应为数据选择序列化方法。例如.XML协议缓冲区或 JSON。

我建议你使用JSON,因为它是轻量级的,即使对于人类也很容易阅读,并且这两种语言都有广泛的库可用。

PHP 端编码

$encoded = json_encode($data);

与杰克逊一起在Java端解码

final ObjectMapper objectMapper = new ObjectMapper();
// The better way is to create a custom class with the correct format
final Map<?, ?> decoded = objectMapper.readValue(encoded, Map.class);

使用一些更标准化的传输格式,如 JSON。PHP 端必须使用json_encode()对数组进行编码,Java 端需要一些库来解码它(参见相关问题)。

我认为这可能很有用 http://publib.boulder.ibm.com/infocenter/wsmashin/v1r1/index.jsp?topic=/com.ibm.websphere.sMash.doc/using/zero.php/TypeConversion.html