来自java的json缺少方括号

时间:2014-10-26 03:18:25

标签: java json rest jackson http-post

我正在使用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"}

1 个答案:

答案 0 :(得分:1)

转自我之前的评论:

JSON没有错过方括号。 JSON中的方括号表示数组。您正在序列化单个对象,而不是数组,因此没有方括号。通过添加方括号,您已将JSON从对象的表示转换为对象数组的表示,长度为1.

请参阅JSON specification进一步阅读。