Есть ли способ начать с индекса, отличного от нуля, при использовании для каждого цикла в vb?
При попытке:
For Each segment As String in p
If not p(0) Then
-я получил сообщение об ошибке «Входная строка имеет неверный формат». 121 ---1756502-
Я сталкиваюсь со следующими проблемами. Когда сериализатору Джексона передается обернутый примитив для сериализации, этот примитив сериализуется как есть, например:
objectMapper = new ObjectMapper();
StringWriter w = new StringWriter();
objectMapper.writeValue(w, Integer.valueOf(10));
System.out.println(w.toString());
производит 10
в качестве вывода. Однако 10
не является допустимым JSON (в соответствии с jsonlint)и должен быть заключен либо в квадратные скобки([10]
, так что это будет одиночный -массив элементов )или в фигурных скобках({value:10}
, так что это будет объект с фиктивным свойством ). Проблема затрагивает числа, java.lang.String
, java.util.Date
,...
Мой вопрос: :Как заставить Джексона выполнять обертывание? Разве Джексон не должен всегда создавать действительный JSON?
Я проанализировал поведение Джексона с включенным SerializationConfig.Feature.WRAP_ROOT_VALUE
:, оно не работает, как я ожидаю. Примитивы теперь сериализуются в действительный JSON ({"Integer":10}
)., но и "обычные" Java-бины также упаковываются, что нежелательно({"MyBean":{"field":value,...}}
вместо{"field":value,...}
).
Если кто-то может посоветовать, как настроить Джексона, возможно, с помощью пользовательского сериализатора. Трудность заключается в том, что необходимо отличать оболочку корневого примитива (, которая должна быть обернута ), от свойства примитива компонента (не нужно обертывать ).
Для полноты истории :сериализатор Джексона используется в качестве преобразователя сообщений для Spring MVC, и я сомневаюсь, что достаточно легко написать хук для перехвата сериализации примитивов (, который не будет вызывать Джексона, а просто вернет "[" + String.toString(obj) + "]"
при необходимости ). Так что я бы предпочел решение с настроенным Джексоном.