2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Indicium: postquam scriptum est, tabula contentorum sponte generari potest.
@JsonProperty(value = "isReceipt")
public boolean isReceipt() {
return isReceipt;
}
@JsonProperty(value = "isExamine")
public boolean isExamine() {
return isExamine;
}
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>版本号</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>版本号</version>
</dependency>
@JSONproperty annotationem adhibetur forAttributessupra
@JSONField annotationem adhiberi potestaccipere, set et possessionessupra
The @JSONField annotation is simpler to use.
Annotationum @JSONField optiones mappings attributa plura sustinet, qualia forma moderna in serializatione, quomodo valores nullos tractandi, etc.
Persecutio @JSONField annotationis celerior est quia fastjson ipsa est summus perficientur JSON bibliothecae processus.
Cum Alciati compage utens, tantum uti potes @JsonProperty annotationem, et @JSONField annotatione uti non potes.
Si vos es usura novumspringboot project, default est Jackson serialization, annotationes directe in proprietatibus utuntur.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>版本号</version>
</dependency>
Entity class: User.java
import com.fasterxml.jackson.annotation.JsonProperty;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
@JsonProperty("JsonPropertyName")
private String name;
private String sex;
private Integer age;
}
Test Methodi:
@Test
public void testJsonProperty() throws IOException{
//bean ---> json
User user=new User("zhangsan","man",22);
System.out.println(new ObjectMapper().writeValueAsString(user));
//json ---> bean
String str="{"sex":"man","age":22,"JsonPropertyName":"zhangsan"}";
System.out.println(new ObjectMapper().readValue(str, User.class).toString());
}
Proventus test:
{"sex":"man","age":22,"JsonPropertyName":"zhangsan"}
User [name=zhangsan, sex=man, age=22]
Videri potest quod, postquam faba in chorda json convertitur, faba nomen proprietatis annotatum cum @JsonProperty substitutum est cum nomine proprietatis definito: JsonPropertyName;
Post json chorda in fabam convertitur, proprietas nominis quae per @JsonProperty annotationem designata est, nomen proprietatis fabae substitutum est: nomen;
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>版本号</version>
</dependency>
Entity class: User.java
import com.alibaba.fastjson.annotation.JSONField;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
@JSONField(name="JSONFieldName")
private String name;
private String sex;
private Integer age;
}
Test Methodi:
@Test
public void testSONField(){
//bean ---> json
User user=new User("zhangsan","man",22);
System.out.println(JSON.toJSONString(user));
//json ---> bean
String str="{"JSONFieldName":"zhangsan","age":22,"sex":"man"}";
System.out.println(JSON.parseObject(str, User.class).toString());
}
Proventus test:
{"JSONFieldName":"zhangsan","age":22,"sex":"man"}
User [name=zhangsan, sex=man, age=22]
Forma attributi adhiberi potest ad formationem attributorum date speciei et forma conversionis generum numerorum ad chordas generum.
public class User {
private String name;
private int age;
@JSONField(format = "yyyy-MM-dd")
private Date birthday;
@JSONField(format = "#,###.00")
private double salary;
}
public class User {
@JSONField(serialize = false)
private int userId;
private String name;
private int age;
}
In exemplo praecedente, attributum userId a serializatione usura @JSONField annotationem excluditur
public class User {
private int userId;
private String name;
@JSONField(deserialize = false)
private int age;
}
In superiori exemplo, aetas proprietatis exclusa est ab usu deserilatione per annotationem @JSONField
Ordo attributorum per attributum ordinale definiri potest
public class User {
@JSONField(ordinal = 2)
private String name;
@JSONField(ordinal = 1)
private int age;
}
In superiori exemplo, adnotatio @JSONField ad designandum ordinem aetatis attributum adhibetur, ut 1 et ordo nominum attributorum ut II.
Proprium defaultValue adhiberi potest ad valorem defaltam attributi in obiecto Javae specificare.
public class User {
@JSONField(defaultValue = "0")
private int userId;
@JSONField(defaultValue = "N/A")
private String name;
private int age;
}
In exemplo superiore, annotationem @JSONField denotare adhibetur valorem default attributi userId 0 esse et valorem defaltam nominis attributi "N/A"
public class User {
private int userId;
@JSONField(type = FieldType.STRING)
private int age;
}
In superiori exemplo, adnotatio @JSONField ad typum aetatis attributum ut chordae genus exprimendum adhibita est.