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에 따라 라이센스가 부여됩니다.