2013-09-23 4 views
1

Я использую jackson (трикотаж и причал) для своих веб-сервисов REST - и все идет хорошо. Но у меня есть требование включить специальный символ в одну из пар значений имени в json post request. то есть запрос JSON (в посте тела) -Deserialize json to java using jackson - проблемы со специальными символами

{ 
    "id": "1", 
    "print-color" : "red" 
} 

// "-" в "распечатке цвета" дают проблемы.

Теперь внутри моей соответствующей java bean для этого объекта Item.java класс, я не могу создать свойство с именем print-color (потому что «-» не разрешено). Как я могу справиться с этим при сопоставлении?

Спасибо.

ответ

4

Вы можете попробовать следующее Java POJO:

@JsonProperty("print-color") 
+0

Это работает! еще один вопрос, в моем ответе (т. е. @produces json), как я могу контролировать порядок, в котором эти свойства идут ... например, как я могу гарантировать, что «цвет печати» всегда идет как второй элемент, а «id» - как 1-й элемент. Благодарю. – Tintin

+0

Вы можете использовать @JsonPropertyOrder ({"id", "print-color"}), чтобы сохранить заказ. Не могли бы вы принять ответ –