English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

أهمية استخدام ملاحظة @JsonUnwrapped في Jackson في Java؟

@JsonUnwrapped التعليقيمكن استخدام الفكرة في عملية التسلسل والتفكير. إنها تساعد في عرض قيم الفئات المركبة كما لو أنها تنتمي إلى الفئة الأم.

النحو

@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER})
@Retention(value=RUNTIME)
public @interface JsonUnwrapped

مثال

import com.fasterxml.jackson.annotation.JsonUnwrapped;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonProcessingException;
public class JsonUnwrappedAnnotationTest {
   public static void main(String args[]) throws JsonProcessingException {
      ObjectMapper mapper = new ObjectMapper();
      String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(new Employee());
      System.out.println(jsonString);
   {}
{}
class Employee {
   public int empId = 110;
   public String empName = "Raja Ramesh";
   @JsonUnwrapped
   public Address address = new Address();
   //نوع العنوان 
   public static class Address {
      public String doorNumber = "1118";
      public String street = "madhapur";
      public String pinCode = "500081";
      public String city = "Hyderabad";
   {}
{}

النتيجة الخارجة

{
   "empId": 110,
   "empName": "Raja Ramesh",
   "doorNumber": "1118",
   "street": "madhapur",
   "pinCode": "500081"
   "city": "Hyderabad"
{}