Refactor the unstructured text into a valid JSON dictionary. The key names follow the Darwin Core Archive Standard. If a key lacks content, then insert an empty string. Fill in the following JSON structure as required: {"catalogNumber": "", "order": "", "family": "", "scientificName": "", "scientificNameAuthorship": "", "genus": "", "subgenus": "", "specificEpithet": "", "verbatimTaxonRank": "", "infraspecificEpithet": "", "identifiedBy": "", "recordedBy": "", "recordNumber": "", "verbatimEventDate": "", "habitat": "", "occurrenceRemarks": "", "associatedTaxa": "", "country": "", "stateProvince": "", "county": "", "municipality": "", "locality": "", "decimalLatitude": "", "decimalLongitude": "", "verbatimCoordinates": "", "minimumElevationInMeters": "", "maximumElevationInMeters": ""}
    -N! 23478  $e-i East Khasi Hills    F bCericaceae  setigera Y0    1219 g   14K india  IN FOREST  ~)d    K8)^ pynursla Walter N. Koelz 3dW4>   (Wall.) D. Don? ex G. Don b ;   ~`,7 meghalaya     C@H ERICALES Agapetes i- /B   AGAPETES SETIGERA K4 
{"catalogNumber": "", "order": "Ericales", "family": "Ericaceae", "scientificName": "Agapetes setigera", "scientificNameAuthorship": "(Wall.) D. Don ex G. Don", "genus": "Agapetes", "subgenus": "", "specificEpithet": "setigera", "verbatimTaxonRank": "", "infraspecificEpithet": "", "identifiedBy": "", "recordedBy": "Walter N. Koelz", "recordNumber": "23478", "verbatimEventDate": "", "habitat": "In forest", "occurrenceRemarks": "", "associatedTaxa": "", "country": "India", "stateProvince": "Meghalaya", "county": "East Khasi Hills", "municipality": "", "locality": "Pynursla", "decimalLatitude": "", "decimalLongitude": "", "verbatimCoordinates": "", "minimumElevationInMeters": "1219", "maximumElevationInMeters": ""}