我知道这是一个常见的问题,但是我找不到与上下文相关的信息。 首先,我使用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(“ |”);返回空字符串,为什么?有没有简单的方法来实现?
答案 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("\\|");