JSON字符串拆分问题

时间:2019-11-01 17:08:56

标签: java json

我知道这是一个常见的问题,但是我找不到与上下文相关的信息。 首先,我使用Gson使用来自不同类的JSon对象构建字符串:

String myString= gson.toJson(obj);
String mystring1=gson.toJson(obj1);

...

然后我要构建一个要在其上反序列化的String,我使用:

String serializedString=myString.concat("|" +mystring1);

我使用|因为它不包含在任何json对象中,所以我想我可以轻松地通过以下方式获取字符串数组:     字符串[] arrayOfJsonStrings = serializedString.split(“ |”);     gson.fromJson(arrayOfJsonStrings [0],obj.class);     .....

问题是     字符串[] arrayOfJsonStrings = serializedString.split(“ |”);返回空字符串,为什么?有没有简单的方法来实现?

1 个答案:

答案 0 :(得分:-1)

一方面,您使用两种不同的方式连接字符串。以下其中一项可能会更好,更一致。

xsl:value-of separator

String serializedString=myString+"|"+mystring1;

String serializedString=myString.concat("|").concat(myString1);

您的问题实际上是您正在分割正则表达式保留字符的事实。您需要使用\来退出拆分,如here

String serializedString=String.format("%s|%s", myString, myString1)

但是我真的不明白为什么你这么做呢?为什么不初始化带有这些字符串值的数组?

serializedString.split("\\|");