Object field starting or ending with a [.] makes object resolution ambiguous: []

I'm getting the error "object field starting or ending with a [.] makes object resolution ambiguous: []". But there isn't a single dot [.] in my object. Using elasticClient.update() I'm passing:

{
	"index": "applicants",
	"type": "applicant",
	"id": "A01gfGEBKfWmu0nhvuR7",
	"body": {
		"doc": {
			"phsEmploymentHistory": {
				"numSickDaysNotIll": "4",
				"employers": [{
					"employmentType": {},
					"": {},
					"name": null,
					"supervisor": null,
					"contactNumber": null,
					"extension": null,
					"email": null,
					"coworker1": null,
					"coworker2": null,
					"duties": null,
					"jobTitle": null,
					"reasonLeaving": null,
					"fullTime": null,
					"partTime": null,
					"temp": null,
					"selfEmployed": null,
					"volunteer": null,
					"duration": {
						"startDate": null,
						"endDate": null
					},
					"address": {
						"street": null,
						"city": null,
						"state": null,
						"zip": null
					}
				}],
				"agencies": [{
					"": {},
					"agencyName": null,
					"backgroundInvestigator": null,
					"contactNumber": null,
					"extension": null,
					"position": null,
					"email": null,
					"stepsCompleted": null,
					"dateApplied": null,
					"status": null,
					"address": {
						"street": null,
						"city": null,
						"state": null,
						"zip": null
					}
				}],
				"disciplined": {
					"response": false,
					"explanation": ""
				},
				"fired": {
					"response": false,
					"explanation": ""
				},
				"inAltercation": {
					"response": false,
					"explanation": ""
				},
				"hasQuit": {
					"response": false,
					"explanation": ""
				},
				"hasResigned": {
					"response": false,
					"explanation": ""
				},
				"accusedOfDiscrimination": {
					"response": false,
					"explanation": ""
				},
				"subjectOfComplaint": {
					"response": false,
					"explanation": ""
				},
				"counseledLateAbsence": {
					"response": false,
					"explanation": ""
				},
				"unsatisfactoryReview": {
					"response": false,
					"explanation": ""
				},
				"releasedConfidential": {
					"response": false,
					"explanation": ""
				},
				"malingered": {
					"response": false,
					"explanation": ""
				},
				"missedWorkDrugs": {
					"response": false,
					"explanation": ""
				},
				"workAffectedDrugs": {
					"response": false,
					"explanation": ""
				},
				"warnedDrugs": {
					"response": false,
					"explanation": ""
				},
				"valid": true
			}
		}
	}
}

The dot check looks for empty values in intermediate fields when parsing the full path. I think these empty field names are causing this to trip (which are also not valid):

"": {},

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.