JSON (JavaScript对象符号)Reader/Writer

许可选项对于这种格式,从FME专业版开始。

FME可以读写JSON (JavaScript Object Notation)格式的数据。

JSON是一种简单的结构化文本格式。它被设计为易于编写脚本和阅读,并易于集成到JavaScript应用程序中。就像GeoJSON(地理JavaScript对象表示法)Reader/Writer, JSON中的空间数据使用键/值对进行标识。然而,与GeoJSON不同的是,JSON没有定义键名的标准模式。这种限制使得JSON比GeoJSON更不适合从多个源检索空间数据的应用程序。

下面的段落给出了JSON语法的概述。JSON格式的详细信息请参见http://www.json.org

JSON语法概述

JSON语法使用对象和数组。

JSON对象是一对大括号,其中包含以逗号分隔的键/值对,每个键和值之间用冒号隔开。键是一组无序的字符串;对象中的每个键都是唯一的,它们可以以任何顺序指定。一个对象可以有任意数量的键/值对,包括0。JSON对象示例如下:

{"key with string value": "this is a string value", "key with index value":-59.45E-4, "key with null value":null, "key with boolean value":true, "key with array value":[false, 12, 56.82, {"key ": "value"}], "key with object value":{}

JSON数组是由逗号分隔的有序值集。值可以是对象、数组、字符串、数字(整数、小数或指数)、布尔值或文字值.数组可以有任意数量的值,包括0。JSON数组示例如下:

[12, "a字符串值",56.3e6, null, false, [1, 2, 3, {}]]

读者概述

JSON阅读器将一个JSON文档转换成一个或多个FME特性。Reader参数可以用来指示哪些值被转换为FME特征,以及为这些特征创建哪些属性。

阅读器可以从JSON对象或数组中创建特性。当将对象转换为特性时,对象键变成特性属性。也可以指定哪个对象键将包含几何值或坐标系统值。

当将数组转换为特性时,将为数组中的每个属性创建一个新属性。这些属性将具有通用的名称,例如attribute0attribute1等。读者不会为这些特征生成几何或坐标系统。

作家概述

JSON写入器输出的特性是一个JSON对象数组。

您可以在JSON对象中指定包含FME特征类型和特征几何的键。特性属性在JSON对象中被写成键/值对。