Saya ingin JSON saya terlihat seperti ini:
{
"information": [{
"timestamp": "xxxx",
"feature": "xxxx",
"ean": 1234,
"data": "xxxx"
}, {
"timestamp": "yyy",
"feature": "yyy",
"ean": 12345,
"data": "yyy"
}]
}
Kode sejauh ini:
import java.util.List;
public class ValueData {
private List<ValueItems> information;
public ValueData(){
}
public List<ValueItems> getInformation() {
return information;
}
public void setInformation(List<ValueItems> information) {
this.information = information;
}
@Override
public String toString() {
return String.format("{information:%s}", information);
}
}
dan
public class ValueItems {
private String timestamp;
private String feature;
private int ean;
private String data;
public ValueItems(){
}
public ValueItems(String timestamp, String feature, int ean, String data){
this.timestamp = timestamp;
this.feature = feature;
this.ean = ean;
this.data = data;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
public String getFeature() {
return feature;
}
public void setFeature(String feature) {
this.feature = feature;
}
public int getEan() {
return ean;
}
public void setEan(int ean) {
this.ean = ean;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
@Override
public String toString() {
return String.format("{timestamp:%s,feature:%s,ean:%s,data:%s}", timestamp, feature, ean, data);
}
}
Saya baru saja melewatkan bagian bagaimana saya dapat mengkonversi objek Java ke JSON dengan Jackson:
public static void main(String[] args) {
// CONVERT THE JAVA OBJECT TO JSON HERE
System.out.println(json);
}
Pertanyaan saya adalah: Apakah kelas saya benar? Contoh mana yang harus saya panggil dan bagaimana saya bisa mencapai hasil JSON ini?
Jawaban:
Untuk mengonversi
object
JSON Anda dengan Jackson:sumber
object
HARUS memiliki getter untuk semua bidang, yang Anda inginkan termasuk JSON Anda.Saya tahu ini sudah lama (dan saya baru di java), tetapi saya mengalami masalah yang sama. Dan jawabannya tidak sejelas bagi saya sebagai seorang pemula ... jadi saya pikir saya akan menambahkan apa yang saya pelajari.
Saya menggunakan perpustakaan pihak ketiga untuk membantu dalam upaya ini:
org.codehaus.jackson
Semua unduhan untuk ini dapat ditemukan di sini .Untuk fungsionalitas JSON dasar, Anda perlu menambahkan toples berikut ke perpustakaan proyek Anda: jackson-mapper-asl dan jackson-core-asl
Pilih versi yang dibutuhkan proyek Anda. (Biasanya Anda bisa menggunakan build stable terbaru).
Setelah mereka diimpor ke perpustakaan proyek Anda, tambahkan
import
baris berikut ke kode Anda:Dengan objek java yang ditentukan dan nilai yang ditetapkan yang ingin Anda konversi ke JSON dan kembali sebagai bagian dari layanan web RESTful
Hasilnya akan terlihat seperti ini:
{"firstName":"Sample","lastName":"User","email":"[email protected]"}
sumber
Ini mungkin berguna:
sumber
lakukan saja ini
sumber
jackson
, bukanGson
Yah, bahkan jawaban yang diterima tidak persis menampilkan apa yang diminta op. Ini menghasilkan string JSON tetapi dengan
"
karakter lolos. Jadi, walaupun mungkin sedikit terlambat, saya menjawab berharap itu akan membantu orang! Inilah cara saya melakukannya:sumber
Anda bisa melakukan ini:
sumber
Catatan: Agar solusi yang paling dipilih berfungsi, atribut dalam POJO harus
public
atau memiliki publikgetter
/setter
:Belum diuji, tapi saya percaya bahwa aturan ini juga berlaku untuk lib JSON lain seperti google Gson.
sumber
sumber
Anda dapat menggunakan Google Gson seperti ini
sumber