JSON Wrapper Class, Deserializtion değil
Bunun gibi gelen bazı JSON'larım var (gizlilik nedeniyle veri kaldırıldı
{"user":{"id":"","email":"","first_name":"","last_name":""}, "STUFF I DONT WANT HERE"}
Bunun için bir iç sarmalayıcı sınıfı yazdım:
public with sharing class WrapperUserJson {
public String id;
public String email;
public String first_name;
public String last_name;
}
Bir yöntemde şöyle bir şey yapıyorum WrapperUserJson data = (WrapperUserJson)JSON.deserialize(st, WrapperUserJson.class);
Ama her zaman boş döndürür. JSON'un kendisine aktarıldığını biliyorum, bu yüzden anlamıyorum. Neyi kaçırıyorum?
Yanıtlar
En üst düzey özelliği kaçırıyorsunuz user. İkinci bir sarmalayıcı sınıfına ihtiyacınız var:
public class WrapperResponseJson {
WrapperUserJson user;
}
public class WrapperUserJson {
public String id;
public String email;
public String first_name;
public String last_name;
}
Daha sonra seriyi kaldırma yöntemine beslersiniz:
WrapperResponseJson data = (WrapperResponseJson)JSON.deserialize(st, WrapperResponseJson.class);
Belirli bir JSON kaynağından hızlı bir şekilde Apex oluşturmak için harika bir araç olan json2apex'i kullanarak JSON'dan otomatik olarak kod oluşturabilirsiniz.