Jackson's @JacksonInject anotasi boleh digunakan untuk menyuntik nilai ke dalam objek yang dihuraikan dan bukannya membaca nilai tersebut daripada JSON. Untuk menyuntik nilai ke dalam medan, kita boleh menggunakan kelas InjectableValues dan perlu mengkonfigurasi kelas ObjectMapper untuk membaca nilai yang disuntik dari kelas InjectableValues dan membaca nilai yang tinggal dari rentetan JSON.
@Target(value={ANNOTATION_TYPE,METHOD,FIELD,PARAMETER}) @Retention(value=RUNTIME) public @interface JacksonInject
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<strong> </strong>injectableValues = new InjectableValues.Std().addValue(int.class, 110); Employee emp = new ObjectMapper().reader(injectableValues).forType(Employee.class).readValue<strong>(</strong>jsonString); System.out.println(emp); } } // Employee class class Employee { <strong> </strong>@JacksonInject<strong> </strong> public int empId = 0; public String empName = "Adithya"; <strong> </strong>@Override public String toString() { return "Employee{" + "empId=" + empId + ", empName='" + empName + '\'' + '}'; } }
Employee{empId=110, empName='Raja Ramesh'}
Atas ialah kandungan terperinci Di Jawa, apakah tujuan anotasi @JacksonInject apabila menggunakan perpustakaan Jackson?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!