Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Công dụng của annotation @JacksonInject sử dụng Jackson trong Java


Annotation @JacksonInject của Jackson dùng để inject giá trị vào object đã parse thay vì đọc từ JSON. Để inject giá trị vào field, dùng class InjectableValues và cấu hình ObjectMapper đọc cả giá trị inject từ InjectableValues và các giá trị còn lại từ JSON string.

Cú pháp

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

Ví dụ

import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.databind.*; import java.io.*; public class JacksonInjectTest {    public static void main(String args[]) throws IOException {       String jsonString = "{\"empName\": \"Raja Ramesh\"}";       InjectableValues injectableValues = new InjectableValues.Std().addValue(int.class, 110);       Employee emp = new  ObjectMapper().reader(injectableValues).forType(Employee.class).readValue(jsonString);       System.out.println(emp);    } } // Employee class class Employee {    @JacksonInject    public int empId = 0;    public String empName = "Adithya";    @Override    public String toString() {       return "Employee{" +       "empId=" + empId +       ", empName='" + empName + '\'' +       '}';    } }

Kết quả

Employee{empId=110, empName='Raja Ramesh'}