function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
pramod1.3932219482734224E12pramod1.3932219482734224E12 

I am sending data by json class my class is here but i m getting some error so can any one tell me how can i solve this error "System.JSONException: Can not write a field name, expecting a value "

error " Class.SendLeadData.sendLeadRecord: line 29, column 1
06:38:26.058 (58262952)|FATAL_ERROR|System.JSONException: Can not write a field name, expecting a value "


JSONGenerator gen = JSON.createGenerator(true);
           gen.writeStartObject();
               if(led.Id!=null){
               gen.writeStringField('Id',Led.Id);
               }
               if(led.Profile_Version__c!=null){
               gen.writeStringField('ProfileVersion',Led.Profile_Version__c);
               }
               if(led.CustomerRef__c!=null){
               gen.writeStringField('CustomerReference',Led.CustomerRef__c);
               }
               if(led.CustomerRef__c!=null){
               gen.writeStringField('CustomerReference',Led.CustomerRef__c);
               }
               //gen.writeStartObject();
               gen.writeFieldName('InputData');
                    gen.writeStartArray();
                        gen.writeStartObject();
                         gen.writeFieldName('Personal');
                             gen.writeStartArray();
                                 gen.writeStartObject();
                                  gen.writeFieldName('PersonalDetails');
                                     gen.writeStartArray();
                                         if(Led.Title!=null){
                                            gen.writeStringField('Title',Led.Title);
                                            }
                                            if(Led.Forename__c!=null){
                                            gen.writeStringField('Forename',Led.Forename__c);
                                            }
                                            if(Led.Middle_Name__c!=null){
                                            gen.writeStringField('MiddleName',Led.Middle_Name__c);
                                            }
                                            if(Led.SurName__c!=null){
                                            gen.writeStringField('Surname',Led.SurName__c);
                                            }
                                            if(Led.Gender__c!=null){
                                            gen.writeStringField('Gender',Led.Gender__c);
                                            }
                                          
                                            //gen.writeStringField('DOBDay',Led.Gender__c);
                                           // gen.writeStringField('DOBMonth',Led.Gender__c);
                                           // gen.writeStringField('DOBYear',Led.Gender__c);
                                          
                                            if(Led.Country__c!=null){
                                            gen.writeStringField('CountryOfBirth',Led.Country__c);
                                            }
                                            if(Led.SurName__c!=null){
                                            gen.writeStringField('SecondSurname',Led.SurName__c);
                                            }
                                            gen.writeStartObject();
                                            gen.writeFieldName('Birth');
                                            gen.writeStartArray();
                                                if(Led.MothersMaidenName__c!=null){
                                                gen.writeStringField('MothersMaidenName',Led.MothersMaidenName__c);
                                                }
                                                if(Led.SurnameAtBirth__c!=null){
                                                gen.writeStringField('SurnameAtBirth',Led.SurnameAtBirth__c);
                                                }
                                                if(Led.CountryOfBirth__c!=null){
                                                gen.writeStringField('CountryOfBirth',Led.CountryOfBirth__c);
                                                }
                                                if(Led.Town__c!=null){
                                                gen.writeStringField('TownOfBirth',Led.Town__c);
                                                }
                                                if(Led.ProvinceOfBirth__c!=null){
                                                gen.writeStringField('ProvinceOfBirth',Led.ProvinceOfBirth__c);
                                                }
                                                if(Led.MunicipalityOfBirth__c!=null){
                                                gen.writeStringField('MunicipalityOfBirth',Led.MunicipalityOfBirth__c);
                                                }
                                                if(Led.BirthCountry__c!=null){
                                                gen.writeStringField('Country',Led.BirthCountry__c);
                                                }
                                            gen.writeEndArray();
                                            gen.writeEndObject(); 
                                     gen.writeEndArray();
                                 gen.writeEndObject();
                                     gen.writeStartObject();
                                     gen.writeFieldName('AlternateName');
                                        gen.writeStartArray();
                                            if(Led.Alternate_Title__c!=null){
                                            gen.writeStringField('Title',Led.Alternate_Title__c);
                                            }
                                            if(Led.Alternate_Forename__c!=null){
                                            gen.writeStringField('Forename',Led.Alternate_Forename__c);
                                            }
                                            if(Led.Alternate_MiddleName__c!=null){
                                            gen.writeStringField('MiddleName',Led.Alternate_MiddleName__c);
                                            }
                                            if(Led.Alternate_Surname__c!=null){
                                            gen.writeStringField('Surname',Led.Alternate_Surname__c);
                                            }
                                            if(Led.Alternate_Gender__c!=null){
                                            gen.writeStringField('Gender',Led.Alternate_Gender__c);
                                            }
                                        gen.writeEndArray();
                                     gen.writeEndObject();
                             gen.writeEndArray();
                        gen.writeEndObject();
James LoghryJames Loghry
Have you seen this project? http://json2apex.herokuapp.com/  

I'm thinking it would be simpler to take your expected JSON output and use that website to generate an Apex wrapper class for working with your Led object.