JSON反序列化如果JSON对象中缺少字段,请将包装类中的字段设置为NULL

JSON反序列化如果JSON对象中缺少字段,请将包装类中的字段设置为NULL,json,api,serialization,salesforce,apex,Json,Api,Serialization,Salesforce,Apex,考虑这种情况,如果JSON对象只传递一个值,我想将另一个值设置为NULL,在本例中为Y JSON Object { x = 'String1' } 序列化的函数 public with sharing class SerializeObject{ public String x {get;set;} public String y {get;set;} } 您的“对象”不是有效的JSON。我不知道你们想做什么,但你们在数据源方面有一些严重的问

考虑这种情况,如果JSON对象只传递一个值,我想将另一个值设置为NULL,在本例中为Y

JSON Object 
 {
    x = 'String1'

}
序列化的函数

 public with sharing class SerializeObject{
        public String x {get;set;}
        public String y {get;set;}
 }
您的“对象”不是有效的JSON。我不知道你们想做什么,但你们在数据源方面有一些严重的问题,而不是Apex。如果您修复了语法错误,其他变量将立即为空

 public SerializeObject SerializeObjectJSON(String json){
    return (SerializeObject ) System.JSON.deserialize(json.replace('""','null'), SerializeObject.class);
  }
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