A, FASTJSON
. 1, FASTJSON json conversión objeto java cuando el defecto no es un valor nulo correspondiente a una secuencia de la clave
Es decir, cuando el objeto dentro de la propiedad está vacía, la conversión a cuando JSON, no se serialización los atributos de un valor nulo
2, pero si quiere anular la serialización tecla correspondiente fuera de él?
Tendrían que echar un vistazo más de cerca objeto fastjson Java cuando se convierten en JSON de la referencia: es este método:
JSONObject.toJSONString (objeto objetos, SerializerFeature ... características)
secuencia Fastjson SerializerFeature de atributos:
Si desea utilizar comillas dobles QuoteFieldNames ---- llave de salida, el valor predeterminado es cierto
WriteMapNullValue --- si el valor de salida es campo nulo, el valor predeterminado es falso
Si WriteNullNumberAsZero-- campo numérico es nulo, el resultado es 0, no es nulo
WriteNullListAsEmpty - Lista de campos si es nulo, el resultado es [], en lugar de nulo
WriteNullStringAsEmpty- campo de tipo carácter Si nula, la salida es "" no es nulo
WriteNullBooleanAsFalse-booleano Si es falso campo es nulo, la salida, en lugar de la hipótesis nula
Junto con lo anterior, SerializerFeature ... características es una matriz, entonces podemos pasar parámetros que queremos, por ejemplo, desea serializar nula, historias son como sigue:
public static void Main (args String []) {
solicitud AutoPartsSearchRequest = new AutoPartsSearchRequest ();
request.setKeywords ( "123");
request.setSortingField ( "234242");
Cadena str = JSONObject.toJSONString (request, SerializerFeature.WriteMapNullValue);
System.out.println (str);
}
3, al igual que los campos de tipo carácter nulo Si, salida convertida es "" no es nulo, necesidad de un parámetro más: WriteNullStringAsEmpty, historias son como sigue:
public static void Main (args String []) {
solicitud AutoPartsSearchRequest = new AutoPartsSearchRequest ();
request.setKeywords ( "123");
request.setSortingField ( "234242");
Cadena str = JSONObject.toJSONString (request, SerializerFeature.WriteMapNullValue,
SerializerFeature.WriteNullStringAsEmpty);
System.out.println (str);
}