我有一个有趣的问题要解决。
让我们考虑以下类别(人员和电话):
人
@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对象,然后将其转换回来。然而,现在这不是我的解决方案,因为我必须使用上面提到的字符串。
最后,我想出了将这个字符串转换为JSON格式,然后将其转换为对象的想法。
因此,龙目生成的字符串是:
Person(name=John, age=30, telephone=Telephone(codeArea=16, number=1111-2222))
然后通过分别将以下字符(、=和)替换为{、:和}并删除类名,将其转换为JSON:
{name:John, age:30, telephone:{codeArea=16, number=1111-2222}}
现在可以将JSON转换为对象。
我在Github中创建了一个项目来进行这种转换。
相反,在课堂上这样做。
/**
* Object as JSON string.
* @return
*/
public String toString() {
// Initiate GSON = new GsonBuilder().create();
return GSON.toJson(this);
}
从对象到字符串:object.toString()。
从字符串到对象:GSON。fromJson(jsonString,ModelClass);
问题内容: 我正在阅读有关python的新f字符串的 博客 ,它们看起来很整洁。但是,我希望能够从字符串或文件中加载f字符串。 我似乎找不到任何执行此操作的字符串方法或其他函数。 从上面我的链接中的示例: 但是,如果我有琴弦怎么办?我希望能够像这样: 事实证明,我已经可以执行类似的操作并获得性能提高。即: 问题答案: f字符串是代码。不仅以安全的方式(当然,字符串文字就是代码),而且以危险的任意代
我遇到了这样一个java字符串,其中以下内容是错误的: 我想这是因为字符串构造函数默认将主体字节[]的编码视为UTF-8,我不是100%确定。我如何能够将此字符串存储在字节[]中,并能够稍后将其转换回来?我想我需要能够确定字节[]的编码方式。我该怎么做呢? 一些上下文:我需要字节[],以便压缩数据,将其存储在数据库中,然后解压缩并将未压缩的字节[]转换回原始字符串。这个字符串最初来自某个下载了网页
我有一个字符串返回给我,其中包含转义字符。 这是一个示例字符串 " test\40gmail.com " 如您所见,它包含转义字符。我需要将其转换为其实际值,即 " test@gmail.com " 我该怎么做?
问题内容: 我有一个,我需要一个。如何从一个转换为另一个? 问题答案: 好问题。我有以下五种 6种方法可以做到这一点。 注意:返回。因此有效地两者是相同的。 调用,这又设置了数组。 另一方面,调用以下程序包私有构造函数。 从源代码中的Java 8的源代码 因此似乎是最有效的方法,在这两个存储器和速度方面,用于转换char到String。
问题内容: 我一直在尝试使用 GZIPOutputStream 等,但在理解它们方面没有成功。我要做的就是将字符串- “字符串” 转换为GZIP Base64格式。我怎样才能做到这一点? 编辑: 通过GZIP Base64格式,我的意思是字符串首先使用GZIP压缩,然后转换为Base64 问题答案: 使用Apache Commons Codec 。 这是一个示例类: 哪个输出: 在Linux下,您
问题内容: 我想获取一串字符串并将其转换为单词对流。例如: 我有: 我想要:。 这几乎与Zipping相同,如使用带有Lambda的JDK8的Zipping流中概述的那样(java.util.stream.Streams.zip) 但是,这会产生: 以下代码有效,但显然是错误的方法(不是线程安全的等): 问题答案: 如果你: 不喜欢使用流中所有字符串创建列表的想法 不想使用外部库 喜欢弄脏你的手