0
我有一个ID(长),JS无法处理它。所以当我返回id时,我想返回另一个属性id_str。当writeValueAsString添加自定义属性(对象)
就像:
{"id":43777753494847488, "id_str":"43777753494847488"}
我使用fastxml杰克逊writeValueAsString(object)
方法。
我该怎么办?
我有一个ID(长),JS无法处理它。所以当我返回id时,我想返回另一个属性id_str。当writeValueAsString添加自定义属性(对象)
就像:
{"id":43777753494847488, "id_str":"43777753494847488"}
我使用fastxml杰克逊writeValueAsString(object)
方法。
我该怎么办?
无法重写JsonSerializer。也许这对我来说很难。所以我修改了json字符串。这里是代码:
public static String expandUserIDStr(String json) {
String key = "user_id";
String expandKey = "user_id_str";
String r = "\"" + key + "\":(\\d+)[,]{0,1}";
Pattern patter = Pattern.compile(r);
Matcher matcher = patter.matcher(json);
StringBuffer buffer = new StringBuffer();
while (matcher.find()) {
String expandContent = "\"" + expandKey + "\":\"" + matcher.group(1) +"\"," + matcher.group(0);
System.out.println(expandContent);
matcher.appendReplacement(buffer, expandContent);
}
matcher.appendTail(buffer);
return buffer.toString();
}
欢迎来到堆栈溢出!不幸的是,你的问题只包含需求 - 它并没有显示你方的努力来解决这个问题。请将您的尝试加入这个问题 - 因为本网站不是免费的“我们做您的(家)工作”服务。除此之外:请转到[帮助]了解如何/在这里问什么。谢谢! – GhostCat
为什么不直接将ID作为字符串写出,而不是将它写成长整型和字符串? – JonK