span8
span4
FME提供了许多编写JSON数据的方法。此表提供了方法及其常用用例的概述:
方法 |
常见的情形 |
教程 |
JSON作家 |
编写简单的,嵌套的JSON |
这一页 |
JSONTemplater +文本文件作家 |
编写嵌套JSON |
教程:JSON写作与JSONTemplater |
FeatureWriter |
在翻译的中间写JSON |
教程:FeatureWriter变压器 |
HTTPCaller |
经由HTTP POST请求发送JSON消息 |
教程:开始使用api |
GeoJSON的作家 |
您希望您的目的地JSON数据遵循GeoJSON的规范 |
GeoJSON的读/写文件 |
ESRI JSON作家 |
您希望您的目的地JSON数据按照ESRI的JSON规范 |
ESRI JSON的读/写文件 |
IMDF作家 |
您希望您的目的地JSON数据跟随IMDF以GeoJSON规范 |
IMDF读/写文件 |
本文展示了一个使用JSON编写器进行编写的简单示例。JSON编写器提供了一种快速、简单的方法将数据转换成JSON格式。但是,它只适合编写无嵌套的平面JSON。如果希望编写嵌套JSON,可以将JSONTemplater与文本文件写入器一起使用。该工作流将亚搏在线在下一篇教程中介绍。
源数据:PublicArt.xlsx
示例工作区:写json.fmwt
示例输出:PublicArt.json
1。启动FME Workbench和生成工作区
启动FME工作台并单击Generate Workspace。
有关阅读器格式,请选择microsoftexcel。数据集是PublicArt。xlsx, which can be downloaded above.
单击Parameters按钮预览Excel数据。你会看到Excel工作簿由六张纸组成,每张纸代表温哥华的一个街区:
单击Cancel,因为我们不需要修改阅读器参数。
对于写入器格式,选择JSON (JavaScript对象表示法)。对于Dataset,编写一个名为PublicArt的本地JSON文件。json,随你喜欢。
单击写入器参数按钮。默认情况下,当写入JSON时,每个FME特性都成为JSON数组中的一个元素,并在其下面嵌套属性。FME特性类型作为一个属性json_featuretype包含在内。默认情况下,Write Geometry被选中,这使您可以在目标JSON文件中以多种格式包含FME几何图形。
对于本文,我们将把每个公共艺术装置作为JSON数组中的一个元素来编写,但是我们希望将邻域作为一个属性来包含。因为源Excel文件中的每个工作表都对应一个邻居,所以我们可以简单地将默认的json_featuretype属性重命名为邻居。
取消写几何图形,因为我们不想在简单的JSON输出中包含几何图形。
我们可以将其余的写入器参数保留为默认值。你的作家参数对话框应该是这样的:
单击OK。
你的生成工作区对话框应该是这样的:
单击OK。
你的工作空间将生成如下:
2。运行工作区
单击Run按钮来运行工作区。工作空间成功运行后,单击Downtown功能类型来选择它。然后点击Inspect writing Data按钮,在可视化预览中打开输出数据集:
您应该看到下城功能类型显示在表视图中,并带有它的所有原始属性。可以验证的是,特征类型属性邻居正在使用通过打开显示控制窗口看到,每个邻域是JSON文件内的特征类型的数据转换成特征类型划分:
3。检查结果
如果您在检查记事本等文本编辑器中JSON文件++,你会发现,每一个特征有一个邻居的属性:
[{ “邻居”: “市区”, “姓名”: “港中心Parkade”, “标题”: “属于的行动”, “经度”:-123.110097741722, “纵横”:49.2837806793832},...]
但是,你还会发现,这不是组织一个JSON文件非常有效的方式,因为它没有利用JSON的嵌套结构都没有。它可以与邻居被构造为层次结构的顶层,每一个装置艺术相关的附近,下方e.g:
{ “街市”:[{ “名称”: “港中心Parkade”, “标题”: “属于的行动”, “经度”:-123.110097741722, “纵横”:49.2837806793832},{ “名称”:“中国文化中心”, “标题”: “中国门”, “经度”:-123.103282272368, “纵横”:49.2797561341325},...], “士达科纳”:[{ “名称”: “国家工程院子里”, “标题”: “滚筒”, “经度”:-123.092675, “纵横”:49.2736209999959},{ “名称”: “吉姆绿色住宅”, “标题”: “玄关”, “经度”:-123.095131, “纵横”:49.2842699999959},...] ...}
这一点说明,FME的JSON作家最著名的是在不要求嵌套的情况下使用。对于您希望您的嵌套JSON数据的情况下,请参阅在下一个教程和JSONTemplater变压器。
数据归属
这里使用源自从公开数据中的数据由温哥华市,不列颠哥伦比亚省提供。它包含了开放政府许可协议进行许可信息 - 温哥华。
©2019安全亚搏在线软件公司法律