我正在开发一个包含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