JSON десериализовать, если поле отсутствует в объекте JSON. Установите для поля в классе оболочки значение NULL. - PullRequest
0 голосов
/ 14 февраля 2020
JSON Object 
 {
    x = 'String1'

}

Рассмотрим этот сценарий, если объект JSON передает только одно значение. Я хочу установить для другого значения значение NULL, которое в данном случае равно Y

 public with sharing class SerializeObject{
        public String x {get;set;}
        public String y {get;set;}
 }

Функция, которая Сериализует

 public SerializeObject SerializeObjectJSON(String json){
    return (SerializeObject ) System.JSON.deserialize(json.replace('""','null'), SerializeObject.class);
  }

1 Ответ

0 голосов
/ 15 февраля 2020

Ваш "объект" недействителен JSON. Я не знаю, что вы пытаетесь сделать, но у вас есть серьезные проблемы с источником данных, а не с Apex. Если вы исправите свои синтаксические ошибки - другая переменная будет нулевой из коробки.

public with sharing class SerializeObject{
        public String x {get;set;}
        public String y {get;set;}
}

String s = '{"x" : "String 1"}';

SerializeObject so = (SerializeObject) JSON.deserialize(s, SerializeObject.class);
System.debug(so.x); // String 1
System.debug(so.y); // null
...