У меня есть поле классаJava Map <String, Map <String, Object >> преобразовать в строку и обратно
Map<String, Map<String, Object>> myMap;
Мне нужно реализовать для ORMlite, я хочу создать пользовательскую стойкую бактерию, но не знаю, хороший способ конвертировать его в строку и обратно.
Мой стойкая бактерия Класс:
import com.j256.ormlite.field.FieldType;
import com.j256.ormlite.field.SqlType;
import com.j256.ormlite.field.types.StringType;
import java.sql.SQLException;
import java.util.Map;
public class UserPersister extends StringType {
private static UserPersister INSTANCE;
private UserPersister() {
super(SqlType.STRING, new Class<?>[] {Map.class});
}
public static UserPersister getInstance() {
if (INSTANCE == null)
INSTANCE = new UserPersister();
return INSTANCE;
}
@Override
public Object javaToSqlArg(FieldType fieldType, Object javaObject) throws SQLException {
Map<String, Map<String, Object>> map = (Map<String, Map<String, Object>>) javaObject;
return map != null ? getString(map) : null;
}
@Override
public Object sqlArgToJava(FieldType fieldType, Object sqlArg, int columnPos) throws SQLException {
return sqlArg != null ? getFromString((String) sqlArg) : null;
}
private String getString(Map<String, Map<String, Object>> map) {
//implement
}
private Map<String, Map<String, Object>> getFromString(String json) {
//implement
}
Возможные дубликат [Как конвертировать HashMap в объект JSON в Java] (http://stackoverflow.com/ Вопросы/12155800/how-to-convert-hashmap-to-json-object-in-java) –