描述
尝试在 ArcGIS Field Maps 移动应用程序中显示和编辑要素图层失败,并且选择共享错误后,已导出的错误日志文件中将返回以下错误消息。
Error:
Domain: com.esri.arcgis.runtime.error
Code: 21
Description: Invalid JSON.
原因
Web 地图包含具有不受支持的字段类型的要素图层。 ArcGIS Field Maps 目前不支持 DateOnly、TimeOnly 和 Timestampoffset 字段类型。
解决方案或解决方法
从 ArcGIS Online 的托管要素图层中移除不受支持的字段类型
在此解决方法中,将从 ArcGIS Online 托管要素图层的属性表中移除不受支持的字段类型。 在本示例中,将移除 DateOnly 字段类型。
- 在 ArcGIS Online 中,单击托管要素图层。 在项目详细信息页面上,单击数据选项卡。
- 在表视图中,删除不受支持的字段类型。 有关说明,请参阅 ArcGIS Online:删除字段。
下图显示了从 ArcGIS Online 的要素图层中移除的 DateOnly 字段。
在 ArcGIS Pro 中,将不受支持的字段类型的字段值传输到另一个字段
在此解决方法中,将复制不受支持的字段类型中的字段值并将其传输到受支持的字段类型,以确保在 ArcGIS Pro 中保留该字段值。 当重新发布到 ArcGIS Online 以供在 ArcGIS Field Maps 中使用之前,将移除要素图层中具有不受支持的字段类型的字段。
- 打开包含要素图层的 ArcGIS Pro 工程。
- 创建一个日期字段以存储日期。 在本示例中,新字段名为 Date_T。
- 在内容窗格中,右键单击要素图层,然后单击属性表。
- 在属性表中,右键单击新创建的字段,然后单击计算字段。 在本示例中,将选择 Date_T 字段。
- 在计算字段窗口中,指定以下参数:
- 对于输入表,确保已预先填充在步骤 3 中选择的图层。 在本示例中,输入表为 Test。
- 对于字段名称,确保已预先填充在步骤 4 中选择的字段。 在本示例中,该字段名称为 Date_T。
- 对于表达式类型,选择 Python。
- 对于表达式,在字段下,双击相应字段,其中包含要传递到 Date_T 字段的属性数据。 在本示例中,具有 DateOnly 数据类型的现有字段为 Date_O。 表达式填充如下:
Date_T = !<Date_O>!
- 单击验证以验证表达式。
- 单击确定以运行脚本。
- 在属性表中,右键单击不受支持的字段类型名称,然后选择删除。
- 将要素图层作为 web 图层共享至 ArcGIS Online 以供在 ArcGIS Field Maps 中使用。 有关说明和详细信息,请参阅 ArcGIS Pro:使用默认配置共享 Web 要素图层。