0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)
ویرایش شده قبل توسط

فرض کنیم کلاس جاوا زیر را داریم:

public class User {
    private int id;
    private String name;

    //getter and setter

}

وقتی با استفاده از کتابخانه Jackson یک شئ از این کلاس را به JSON تبدیل می کنیم بصورت زیر می شود:

{
    "id": 1,
    "name": "John"
}

اگر بخواهیم JSON تولید شده بصورت زیر root name داشته باشد چه کار باید کرد:

{
    "user": {
        "id": 1,
        "name": "John"
    }
}

1 پاسخ

+1 امتیاز
قبل توسط (1.1هزار امتیاز)

کتابخانه Jackson برای اینگونه موارد انوتیشنی با نام JsonRootName داره که اجازه می دهد برای یک کلاس root name تعریف کنیم:

@JsonRootName(value = "user")
public class User {
    private int id;
    private String name;

    //getter and setter

}

نحوه استفاده:

    User user = new User(1, "John");
 
    ObjectMapper mapper = new ObjectMapper();
    mapper.enable(SerializationFeature.WRAP_ROOT_VALUE);
    String result = mapper.writeValueAsString(user);

خروجی:

{
    "user":{
        "id":1,
        "name":"John"
    }
}

سوالات مشابه

+1 امتیاز
2 پاسخ 800 بازدید
0 امتیاز
1 پاسخ 330 بازدید
0 امتیاز
0 پاسخ 608 بازدید
0 امتیاز
1 پاسخ 676 بازدید
0 امتیاز
1 پاسخ 381 بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 324 بازدید
0 امتیاز
0 پاسخ 675 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط keynet (0 امتیاز)
0 امتیاز
0 پاسخ 558 بازدید
...