我想手动添加两个Java JSON字符串,所以为了这个,我需要删除“}”,并用逗号取代它的第一个字符“”的第一个JSON字符串,并删除第一个JSON字符串的第一个“{”。 这是我的计划的Java:替换字符串的最后一个字符和字符串
import java.util.Map;
import org.codehaus.jackson.type.TypeReference;
public class Hi {
private static JsonHelper jsonHelper = JsonHelper.getInstance();
public static void main(String[] args) throws Exception {
Map<String, Tracker> allCusts = null;
String A = "{\"user5\":{\"Iden\":4,\"Num\":1},\"user2\":{\"Iden\":5,\"Num\":1}}";
String B = "{\"user1\":{\"Iden\":4,\"Num\":1},\"user3\":{\"Iden\":6,\"Num\":1},\"user2\":{\"Iden\":5,\"Num\":1}}";
String totalString = A + B;
if (null != totalString) {
allCusts = (Map<String, Tracker>) jsonHelper.toObject(
totalString, new TypeReference<Map<String, Tracker>>() {
});
}
System.out.println(allCusts);
}
}
当添加两个字符串A + B
我想删除的最后一个字符“}”中的一个,取而代之的是“”并删除“的第一个字符{“in B。
所以这应该看起来像。
String A = "{\"user5\":{\"Iden\":4,\"Num\":1},\"user2\":{\"Iden\":5,\"Num\":1},";
String B = "\"user1\":{\"Iden\":4,\"Num\":1},\"user3\":{\"Iden\":6,\"Num\":1},\"user2\":{\"Iden\":5,\"Num\":1}}";
我已经试过
String Astr = A.replace(A.substring(A.length()-1), ",");
String Bstr = B.replaceFirst("{", "");
String totalString = Astr + Bstr ;
有了这个,我是越来越
异常线程 “main” java.util.regex.PatternSyntaxException:非法重复
请建议。
我会用一个合适的JSON解串器和串行像http://json.org/java/。 – Vikdor