我有一个函数返回映射值(String)作为通用对象.如何将其转换回字符串.我试过toString(),但我得到的只是end[Ljava.lang.String;@ff2413
public Object getParameterValue(String key)
{
Iterator iterator=params.entrySet().iterator();
while(iterator.hasNext())
{
Map.Entry me=(Map.Entry)iterator.next();
String[] arr=(String[])me.getValue();
log.info(me.getKey().toString()+"="+arr[0]);
}
if(params.containsKey(key))
{
log.info(key+"="+params.get(key));
return params.get(key);
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
接收结束
String temp=data.getParameterValue("request").toString();
log.info("end"+temp);
Run Code Online (Sandbox Code Playgroud)
log.info(me.getKey().toString()+"="+arr[0]);
给我一个输出
email=x@as.com request=login projectid=as
Viv*_*sse 47
我担心你的地图包含的不是String
对象.如果调用toString()
String对象,则获取字符串本身.
你得到的[Ljava.lang.String
表明你可能有一个String数组.
小智 14
可能与上述问题无关.但是,如果您正在寻找一种将Java对象序列化为字符串的方法,则可能会出现这种情况
package pt.iol.security;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
import org.apache.commons.codec.binary.Base64;
public class ObjectUtil {
static final Base64 base64 = new Base64();
public static String serializeObjectToString(Object object) throws IOException {
try (
ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
GZIPOutputStream gzipOutputStream = new GZIPOutputStream(arrayOutputStream);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(gzipOutputStream);) {
objectOutputStream.writeObject(object);
objectOutputStream.flush();
return new String(base64.encode(arrayOutputStream.toByteArray()));
}
}
public static Object deserializeObjectFromString(String objectString) throws IOException, ClassNotFoundException {
try (
ByteArrayInputStream arrayInputStream = new ByteArrayInputStream(base64.decode(objectString));
GZIPInputStream gzipInputStream = new GZIPInputStream(arrayInputStream);
ObjectInputStream objectInputStream = new ObjectInputStream(gzipInputStream)) {
return objectInputStream.readObject();
}
}
}
Run Code Online (Sandbox Code Playgroud)
也许您会受益于将其转换为JSON字符串
String jsonString = new com.google.gson.Gson().toJson(myObject);
Run Code Online (Sandbox Code Playgroud)
就我而言,我想在响应标头中添加一个对象,但是您不能在标头中添加对象,
因此,要解决此问题,我将对象转换为JSON字符串,然后在客户端将该字符串再次返回JSON
归档时间: |
|
查看次数: |
296905 次 |
最近记录: |