2016-05-21 2 views
1

Как мы можем получить результат json, который не имеет нулевых строк при преобразовании из pojo в json?Как удалить нулевое значение Строки из Json при преобразовании pojo в Json с использованием Json.toJson() в рамки воспроизведения?

class Test{ 
     public String id; 
     public String firstname; 
     public String lastname; 
     } 

     Test test=new Test(); 
     test.id="1"; 
     test.firstname="John"; 

Когда мы преобразуем тест JSON:

Json.tojson(test); // using play.libs.Json 

Результат:

{ 
    "id":"1", 
    "firstname":"John", 
    "lastname":null 
    } 

Ожидаемый результат:

{ 
    "id":"1", 
    "firstname":"John" 
    } 

Может кто-нибудь помочь с этим? Спасибо.

ответ

0

Вы должны аннотировать POJO, что-то вроде:

/** 
* Test class annotate to tell Jackson library to NOT include NULL values. 
*/ 
@JsonInclude(Include.NON_NULL) 
class Test { 
    public String id; 
    public String firstname; 
    public String lastname; 
} 
0

Для подавления сериализации свойства с нулевыми значениями, вы можете настроить ObjectMapper непосредственно, или использовать в @JsonInclude аннотацию:

mapper.setSerializationInclusion(Include.NON_NULL); 

или:

@JsonInclude(Include.NON_NULL) 
class Foo 
{ 
    String bar; 
}