This commit is contained in:
Redkale
2019-03-29 11:51:19 +08:00
parent e4672355fc
commit 1396296337

View File

@@ -5,19 +5,21 @@
*/ */
package org.redkale.convert; package org.redkale.convert;
import org.redkale.convert.json.JsonConvert;
/** /**
* 序列化去掉引号的String对象。 * 序列化去掉引号的String对象。
* <blockquote><pre> * <blockquote><pre>
* 场景: JavaBean a = ... ; * 场景: JavaBean bean = ... ;
* Map map = new HashMap(); * Map map = new HashMap();
* map.put("bean", a); * map.put("bean", a);
* records.add(map); * records.add(map);
* records需要在后期序列化写入库。 但是在这期间a的内部字段值可能就变化了会导致入库时并不是records.add的快照信息。 * records需要在后期序列化写入库。 但是在这期间bean的内部字段值可能就变化了会导致入库时并不是records.add的快照信息。
* 所以需要使用StringConvertWrapper * 所以需要使用StringConvertWrapper
* Map map = new HashMap(); * Map map = new HashMap();
* map.put("bean", new StringConvertWrapper(a.toString())); * map.put("bean", new StringConvertWrapper(bean.toString()));
* records.add(map); * records.add(map);
* 这样序列化写库时不需要在bean的值上面多一层引号。 * 这样既可以保持快照又不会在bean的值上面多一层引号。
* </pre></blockquote> * </pre></blockquote>
* <p> * <p>
* 详情见: https://redkale.org * 详情见: https://redkale.org
@@ -35,8 +37,10 @@ public class StringConvertWrapper {
this.value = value; this.value = value;
} }
public static StringConvertWrapper create(String value) { public static StringConvertWrapper create(Object value) {
return new StringConvertWrapper(value); if (value == null) return new StringConvertWrapper(null);
if (value instanceof String) return new StringConvertWrapper((String) value);
return new StringConvertWrapper(JsonConvert.root().convertTo(value));
} }
public String getValue() { public String getValue() {