У меня есть следующий вывод из кода: {"list":[{"x":"y"},{"a":"b"}]}
Вместо этого я хочу получить вывод как [{"x":"y"},{"a":"b"}]
Код ниже.
public class Test {
List<Map> list = new ArrayList();
public static void main(String [] args){
Test t = new Test();
Map m1 = new HashMap();
m1.put("x","y");
t.list.add(m1);
Map m2 = new HashMap();
m2.put("a","b");
t.list.add(m2);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setSerializationInclusion(Include.NON_EMPTY);
objectMapper.setVisibility(PropertyAccessor.FIELD, Visibility.NON_PRIVATE);
Writer writer = new StringWriter();
try {
objectMapper.writeValue(writer, t);
} catch (Exception e) {
throw new RuntimeException(e);
}
System.out.println("The json is:\n"+writer.toString());
}
}
Обновление этой проблемы - создание еще одного уровня Дает мне:
{"список":[{"карта":{"x":"y","x1":"y1"}},{"map":{"a1":"b1","a":"b "}}]}
Я хочу [{"x":"y","x1":"y1"},{"a1":"b1","a":"b"}]
public class Test {
public class Car{
Map map = new HashMap();
}
List<Car> list = new ArrayList();
public static void main(String [] args){
Test t = new Test();
Test.Car car = t.new Car();
Map m1 = new HashMap();
m1.put("x","y");
m1.put("x1","y1");
car.map = m1;
t.list.add(car);
car = t.new Car();
Map m2 = new HashMap();
m2.put("a","b");
m2.put("a1","b1");
car.map = m2;
t.list.add(car);
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setSerializationInclusion(Include.NON_EMPTY);
objectMapper.setVisibility(PropertyAccessor.FIELD, Visibility.NON_PRIVATE);
Writer writer = new StringWriter();
try {
objectMapper.writeValue(writer, t);
} catch (Exception e) {
throw new RuntimeException(e);
}
System.out.println("The json is:\n"+writer.toString());
}
}
objectMapper.writeValue(writer, t.list)
? - person Jon Skeet   schedule 09.01.2016List<Map<...>>
из этогоList<Car>
. Однако может быть способ настроить Джексона так, чтобы он делал это за вас автоматически - вы должны добавить этот пример к своему вопросу в качестве примера того, что вы хотите сделать, в противном случае наиболее очевидным является подход "просто сериализоватьt.list
". - person Jon Skeet   schedule 09.01.2016