【发布时间】:2026-02-22 18:55:01
【问题描述】:
我正在使用来自 jackson 的 ObjectMapper 创建 JSON。在调试器中查看之前,我能够看到 '[' 丢失了,并且在生成的 json 字符串(以下函数中的字符串 json 变量)之后丢失了 ']'。所以作为一种解决方法,我输入了
String str = "["+json+"]";
这解决了问题。我担心这可能会导致将来出现错误,想知道是否有更好的方法?
import org.codehaus.jackson.map.ObjectMapper;
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(object);
String jsonFixed = "["+json+"]";
JSON 字符串(之前没有 '[' 和 ']' 之后)
{"organisationid":"2345612ß","projectid":"12345678",
"place":{"placeId":"2345","last_place":"123-3"},
"user":{"isY":"false","isHere":"false","isBuyer":"false"},
"x":{"identifier":"SHDG-28CHD"},
"event_type":"x_depart"}
【问题讨论】:
-
JSON 没有丢失方括号。 JSON 中的方括号表示一个数组。您正在序列化单个对象,而不是数组,因此没有方括号。通过添加方括号,您可以将 JSON 从对象的表示形式转换为长度为 1 的对象数组的表示形式。请参阅 JSON 规范以进一步阅读:json.org
-
@Affess 这应该是一个答案,而不是评论。
标签: java json rest jackson http-post