java - Bagaimana untuk menentukan sama ada null atau kosong dikembalikan apabila spring mengembalikan json?
ringa_lee
ringa_lee 2017-06-14 10:51:24
0
3
974

Menggunakan @ResponseBody yang disediakan oleh musim bunga, sangat mudah untuk mengembalikan objek json.

Tetapi satu masalah ialah kadangkala adalah mustahil untuk menentukan sama ada @ResponseBody会返回empty("")还是null,题主大致观察了一下。好像对于java中的String不管是null还是"",最终通过json返回的都是"",而对于Object,都会返回null,而对于int型数据都会返回0 akan kembali kosong("") atau batal membuat pemerhatian. Nampaknya untuk String dalam java, sama ada null atau "", apa yang akhirnya dikembalikan melalui json ialah "", manakala untuk Object , ia akan dikembalikan null dan 0 akan dikembalikan untuk data jenis int.

Adakah kesimpulan di atas betul?

ringa_lee
ringa_lee

ringa_lee

membalas semua(3)
阿神

Ini berkaitan dengan jenis pembolehubah instance dalam pojo anda dan perpustakaan json yang digunakan (pustaka json boleh menetapkan cara mengendalikan null)

phpcn_u1582

1. Apabila mengembalikan POJO, anda boleh merangkum data perniagaan, seperti merangkumkannya ke dalam kelas JSONResult, yang mengandungi kod, mesej dan data ialah data perniagaan (iaitu, contoh POJO), kod ialah status kod, dan msg ialah penerangan Dengan cara ini, ia boleh digunakan sebagai data perniagaan Apabila ia kosong, hanya kembalikan kod ralat, supaya hasil yang dikembalikan masih data format json, yang memudahkan pemanggil antara muka untuk memproses. .

2 Kembalikan data format JSON secara langsung, gunakan fastjson atau net.sf.json untuk mengembalikan objek JSONObject secara langsung dan isikan data perniagaan ke dalam objek JSONObject secara manual atau automatik.

伊谢尔伦

Jika anda menggunakan pustaka Jackon, anda boleh memberi anotasi @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) pada pojo Dalam kes ini, jika nilai atribut tertentu adalah nol atau "", kunci tidak akan disertakan apabila disirikan ke dalam json

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan