Features To JSON (Conversion)
Converts features to JSON format. The fields, geometry, and spatial reference of features will be converted to their corresponding JSON representation and written to a file with a .json extension.
If you want the JSON representation in the output file to be more human readable, you can enable formatting. The JSON will be formatted with spaces, tabs, and carriage returns to improve its readability. A formatted JSON may be beneficial for application development and testing. However, it is not recommended for actual production applications since all of the whitespace is unnecessary and ignored by JSON parsers. Additionally, formatted JSON can be significantly larger than its JSON equivalent and the file size will be greater than its corresponding JSON representation. This can affect application performances.
- The conversion does not support joins, relates, and attachments of the features.
To convert a subset of features in a feature class or layer, use the Select Layer By Attribute or Select Layer By Location tools and select the subset of features to be converted before using the Features To JSON conversion tool.
The features to convert to JSON.
The output JSON file.
The JSON can be formatted to improve human readability similar to ArcGIS REST API specification's PJSON (Pretty JSON) format.
Include Z value of the features to the JSON.
Include M value of the features to the JSON.
The following Python window script demonstrates how to use the FeaturesToJSON function to create JSON and PJSON files.
import arcpy import os arcpy.env.workspace = "c:/data" arcpy.FeaturesToJSON_conversion(os.path.join("outgdb.gdb","myfeatures"),"myjsonfeatures.json") arcpy.FeaturesToJSON_conversion(os.path.join("outgdb.gdb","myfeatures"),"mypjsonfeatures.json","FORMATTED")
The following Python window script demonstrates how to use the FeaturesToJSON function with Z and M values.
import arcpy import os arcpy.env.workspace = "c:/data" arcpy.FeaturesToJSON_conversion(os.path.join("outgdb.gdb","myfeatures"), "myjsonfeatures.json", "NOT_FORMATTED", "Z_VALUES", "M_VALUES")
Convert a subset of features to JSON using Select layer by attribute and Select layer by location.
# Import system modules import arcpy # Set the workspace arcpy.env.workspace = "c:/data/mexico.gdb" # Make a layer from the feature class arcpy.MakeFeatureLayer_management("cities", "lyr") # Select all cities which overlap the chihuahua polygon arcpy.SelectLayerByLocation_management("lyr", "intersect", "chihuahua", 0, "new_selection") # Within selected features, further select only those cities which have a population > 10,000 arcpy.SelectLayerByAttribute_management("lyr", "SUBSET_SELECTION", ' "population" > 10000 ') # Convert the selected features to JSON arcpy.FeaturesToJSON_conversion("lyr", r"c:\data\myjsonfeatures.json")