我有一个有趣的问题要解决。
让我们考虑以下类(人员和电话):
Person
@AllArgsConstructor
@Getter
@Setter
@ToString
public class Person {
private String name;
private int age;
private Telephone telephone;
}电话
@AllArgsConstructor
@Getter
@Setter
@ToString
public class Telephone {
private int codeArea;
private String number;
}假设我有一个由lombok注释@ToString生成的Person对象字符串
Person(name=John, age=30, telephone=Telephone(codeArea=16, number=1111-2222))如何再次将上面的字符串转换为对象?是否有任何库可以帮助我完成此过程,还是必须手动为其创建解析器?
我知道还有其他方法,比如生成json或将其序列化为java对象,然后将其转换回来。但是,对于我来说,这不是一个解决方案,因为我必须使用上面提到的字符串。
发布于 2021-02-22 18:53:07
相反,在课堂上这样做。
/**
* Object as JSON string.
* @return
*/
public String toString() {
// Initiate GSON = new GsonBuilder().create();
return GSON.toJson(this);
}从对象到字符串:object.toString()。
从字符串到对象:GSON.fromJson(jsonString,ModelClass);
发布于 2020-08-30 17:48:21
最后,我想出了将这个字符串转换成JSON格式的想法,然后将它转换为对象。
因此,lombok生成的字符串是:
Person(name=John, age=30, telephone=Telephone(codeArea=16, number=1111-2222))然后将其转换为JSON,分别将以下字符(,=和)替换为{、<代码>E 210和E 111}E 212,并删除类名:
{name:John, age:30, telephone:{codeArea=16, number=1111-2222}}现在可以将JSON转换为对象。
我在Github中创建了一个执行此转换的项目。
https://stackoverflow.com/questions/63650823
复制相似问题