The JSONToFeatures Tool does not like the OBJECTID definition in the JSON file.
The JSON contains the following in the "fields" section:
"fields" : [
{
"name" : "OBJECTID",
"type" : "esriFieldTypeInteger",
"alias" : "OBJECTID",
"sqlType" : "sqlTypeOther",
"domain" : null,
"defaultValue" : null
},
{
Note the setting for "type" which is "esriFieldTypeInteger". When testing it with ArcMap 10.5 using a file geodatabase, the tool wanted to duplicate this field as it wants the type of the OBJECTID to be "esriFieldTypeOID".
There are a couple of things you can do. The easiest is to edit the JSON by changing the type on line 12 as indicated below. Your script that processes the JSON could include some code to make the edit for you.
{
"objectIdFieldName" : "OBJECTID",
"globalIdFieldName" : "",
"geometryType" : "esriGeometryPoint",
"spatialReference" : {
"wkid" : 102100,
"latestWkid" : 3857
},
"fields" : [
{
"name" : "OBJECTID",
"type" : "esriFieldTypeOID",
"alias" : "OBJECTID",
"sqlType" : "sqlTypeOther",
"domain" : null,
"defaultValue" : null
},
{
A second option would be to do a global replace of "OBJECTID" with something like "OBJ_ID" in the JSON file. You would also need to set line 2 to an empty string ( "objectIdFieldName" : "" ). Then the tool would create a new OBJECTID. As this option is a bit more complicated, I would use the first suggestion - just change the type to "esriFieldTypeOID".
Hope this helps.