我正在使用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 STRING(没有' [' BEFORE和']' AFTER)
{"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"}
答案 0 :(得分:1)
转自我之前的评论:
JSON没有错过方括号。 JSON中的方括号表示数组。您正在序列化单个对象,而不是数组,因此没有方括号。通过添加方括号,您已将JSON从对象的表示转换为对象数组的表示,长度为1.
请参阅JSON specification进一步阅读。