Fastjson Feathure
4876 단어 fastjson
Fastjson 직렬 화 시 직렬 화 된 특성 을 지정 하여 서로 다른 직렬 화 수 요 를 만족 시 킬 수 있 습 니 다.
SerialFeature 클래스 의 정의
package
com.alibaba.fastjson.serializer;
public
enum
SerializerFeature {
QuoteFieldNames, UseSingleQuotes, WriteMapNullValue, WriteEnumUsingToString, UseISO8601DateFormat, SkipTransientField
}
예 를 들다Date date =
new
Date(1308841916550L);
//
System.out.println(JSON.toJSONString(date));
// 1308841916550
// UseISO8601DateFormat
// "2011-06-23T23:11:56.550"
System.out.println(JSON.toJSONString(date, SerializerFeature.UseISO8601DateFormat));
// Feature(UseISO8601DateFormat UseSingleQuotes)
SerializerFeature[] features = {SerializerFeature.UseISO8601DateFormat, SerializerFeature.UseSingleQuotes };
System.out.println(JSON.toJSONString(date, features));
// '2011-06-23T23:11:56.550'
상세 설명 표Featurs
부족 값
설명 하 다.
QuoteFieldNames
true
출력 필드 를 직렬 화하 고 따옴표 를 사용 합 니 다.예: QuoteFieldNames Feature Enabled:
{
"id"
:
123
,
"name"
:
" "
,
"age"
:
23
}
QuoteFieldNames Feature Disabled: {id:
123
, name:
" "
, age:
23
}
UseSingleQuotes false
작은 따옴표 대신 작은 따옴표 사용 하기 UseSingleQuotes Feature Enabled:
{
'id'
:
123
,
'name'
:
' '
,
'age'
:
23
}
UseSingleQuotes Feature Disabled: {
"id"
:
123
,
"name"
:
" "
,
"age"
:
23
}
WriteMapNullValue false
빈 값 을 출력 할 지 여부 입 니 다.대부분의 경우 값 이 null 인 속성 출력 은 의미 가 없습니다. 이 기능 이 부족 하면 열 립 니 다.WriteMapNullValue Feature Enabled:
{
'id'
:
123
,
'name'
:
' '
,
'age'
:
23
, birthday :
null
}
WriteMapNullValue Feature Disabled: {
"id"
:
123
,
"name"
:
" "
,
"age"
:
23
}
WriteEnumUsingToString false
Enum 출력 name () 또는 original
public
static
enum
Type {
Big, Medium, Small
}
System.out.println(JSON.toJSONString(Type.Big));
// 0
System.out.println(JSON.toJSONString(Type.Medium));
// 1
System.out.println(JSON.toJSONString(Type.Small));
// 2
System.out.println(JSON.toJSONString(Type.Big, SerializerFeature.WriteEnumUsingToString));
// "Big"
System.out.println(JSON.toJSONString(Type.Medium, SerializerFeature.WriteEnumUsingToString));
// "Medium"
System.out.println(JSON.toJSONString(Type.Small, SerializerFeature.WriteEnumUsingToString));
// "Small"
UseISO8601DateFormat false
날짜 ISO 8601 형식 으로 출력
Date date =
new
Date(1308841916550L);
System.out.println(JSON.toJSONString(date));
// 1308841916550
// "2011-06-23T23:11:56.550"
System.out.println(JSON.toJSONString(date, SerializerFeature.UseISO8601DateFormat));
SkipTransientField true
true 라면 클래스 의 Get 방법 에 대응 하 는 Field 는 transient 이 고 직렬 화 시 무시 합 니 다.
WriteNullListAsEmpty
false
list 필드 가 null 이면 null 이 아 닌 [] 로 출력 합 니 다.
WriteNullNumberAsZero
false
수치 필드 가 null 이면 출력 은 0 이지 null 이 아 닙 니 다.
WriteNullBooleanAsFalse
false
Boolean 필드 가 null 이면 null 대신 false 로 출력 합 니 다.
WriteNullStringAsEmpty
false
문자 형식 필드 가 null 이면 null 대신 "" 로 출력 합 니 다.
SortField
false
필드 이름 으로 정렬 후 출력
WriteTabAsSpecial
false
전의 로 출력 하 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
fastjson의 @JSONField 주석에 대한 질문(상해)원본을 보면 필드와 방법에 작용할 수 있습니다. 인터넷에서 말한 것을 인용하여 그러나 나는 사용 중에 위에서 말한 바와 같지 않다는 것을 발견했다. bean이 json을 돌리는 것을 발견했을 때는'project_id...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.