【发布时间】:2013-08-07 13:10:34
【问题描述】:
我在 php 中有一个这种格式的数组:
<?php
$value = array("id" => 42, "user" => "superman");
echo serialize($value);
?>
序列化:
a:2:{s:2:"id";i:42;s:4:"user";s:8:"superman";}
我将它接收到 java 中的 String 中。
我如何在 java 中反序列化这个?
我知道java中的implements Serializable,但在这种情况下不起作用。
我想以这种格式创建一个对象:
import java.io.Serializable;
public class Serial implements Serializable{
private int mId;
private String mUser;
public Serial(int mId, String mUser) {
super();
this.mId = mId;
this.mUser = mUser;
}
public int getId() {
return mId;
}
public void setId(int id) {
this.mId = id;
}
public String getUser() {
return mUser;
}
public void setUser(String user) {
this.mUser = user;
}
}
之后我想再创建一次从 Java 对象序列化的 String,以便在 PHP 中反序列化;
感谢您的帮助。
【问题讨论】:
-
Related/duplicate。使用 JSON 等通用格式。
-
是的,使用双方都支持的序列化格式。 Java Serializable 意味着您可以序列化对象的二进制状态以将其传输到 Java 世界中;)但是例如,可以在 pojo 的构造函数中将给定的 JSON 字符串解析为 JSON 以填充值。
标签: java php arrays serialization deserialization