Map<String, String> obj= new HashMap<String, String>();
obj.put("key1", "value1");
obj.put("key99", "value99");
String result = "";
Set<String> fields = obj.keySet();
Iterator<String> it = fields.iterator();
while (it.hasNext()) {
String k = it.next().trim();
result += "s:" + k.length() + ":\"" + k + "\";";
String v = obj.get(k).trim();
result += "s:" + v.length() + ":\"" + v + "\";";
}
result = "a:" + obj.size() + ":{" + result + "}";
System.out.println("php serialize <" + result + ">");
> a:2:{s:4:"key1";s:6:"value1";s:5:"key99";s:7:"value99";}
php序列化的格式:
外壳 a: 属性数量 :{ 属性名类型 s: 属性名长度 : 属性名 ; 属性值类型 : 属性值长度 : 属性值 ; ... ;}
a: array; s: string; i: int
java的Map对应于 php的关联数组
相当不爽 - 3- 把php专有技术混入web服务是怎么个意思,谁说nusoap不能生成wsdl 很想说一句 去TMD
有时候php会认为 "1" 是 1,it's a big trouble 囧 ...
凡序列化的时候,不得不先 .getClass().getName().equals(String.class.getName()) 一下