JSONFragmenter
JSON(JavaScript对象符号)格式化的文本到新的FME特征的提取物的部分。
输出端口
对于每一个新创建的特征,属性标识由结果属性参数将包含由JSON查询简称JSON文本。
该json_type属性将包含JSON类型的文本(对象,数组,字符串等)和json_index参数将包含JSON值的所述对象键或数组索引的。
如果JSON查询无法充分评估,信息将被记录,翻译将继续。
如果拒收不产生碎片特点设定为是,即不产生碎片的特征将通过此端口输出。
不能被成功地处理过的特征也将通过此端口输出。这通常发生时的JSON属性参数指定的属性没有值,或者具有的值不是有效的JSON。
参数
资源
允许对两个选项JSON输入一个之间进行选择:JSON属性要么文件/ URL
如果选中,JSON文件可以来自通过属性值或工作空间参数中指定的任何字符串表达式。
如果选中,JSON源可以从本地文件在指定的文件路径读取,或从互联网指定的URL。
参数
JSON的查询参数是JSON查询指的是JSON值,这将成为新的FME功能。
此参数可直接在文本框中,或者如果从文件或URL读取JSON,通过单击打开包含在一个树的形式JSON数据集的结构对话框中的浏览按钮输入。从树中选择一个值填充相应的查询字符串打开选定的数值为要素的参数。
一个JSON查询是指JSON文本中值的机制。最外面的JSON值,它必须是一个对象或一个阵列时,总是由术语“JSON”提及。包含的值可以被称为使用JavaScript状括号指数运算符。在数组的值可以被称为使用其基于零的位置阵列中(例如,JSON [2]对于第三元件)。
在一个对象中的值可被称为使用其的对象的项名称。例如:
JSON [ “键”]
阵列中的全部或对象中的值可以被统称使用通配符索引。例如:
JSON [*]
使用该变压器可以具有多个表达式查询,分离由“+”运算。这使得变压器参考值的JSON文本的不同区域。例如:
JSON [ “resultSet_1”] [*] + JSON [ “resultSet_2”] [*]
见下面关于JSON查询的详细信息。
如果JSON文本是在以GeoJSON或EsriJSON格式,你可以选择片段格式至以GeoJSON要么ESRIJSON。这将通知JSONQueryFactory即以GeoJSON或ESRIJSON功能需要进行自动识别,并从查询结果中提取。
默认的格式,JSON,解析JSON文本为纯JSON。如果没有以GeoJSON或ESRIJSON特征构建中,将发出警告,并在文本将被视为纯JSON。
如果该参数是,其不产生碎片的特征将通过输出<拒绝>港口。
如果JSONFragmenter被设定为从一个特征属性读JSON,然后输出被自动写入输入属性。然而,如果该JSONFragmenter被设定为从文件或URL读JSON,然后输出属性必须被选择。这是在做结果属性字段,它被激活时输入源设定为文件/ URL。输出属性可以从现有的输入属性,用户定义的参数来选择,或者一个新的属性也可以被创建。
平滑参数
如果JSON查询产生JSON对象,该密钥可以用于通过设定为,以产生用于新的特征(一个或多个)附加的属性是。如果JSON查询产生JSON数组,和一个值被提供给前缀的新属性随着参数,列表属性将被创建,使用该前缀作为列表名称和JSON数组值作为列表元素。
注意:列表属性不从工作台的输出模式访问的,除非它们正在使用对它们进行操作的变压器,例如第一处理ListExploder要么ListConcatenator。或者,AttributeExposer可以使用。
当。。。的时候平展查询结果为属性参数设置为是时,该参数控制,其被创建的属性。如果它被设置为没有中,每个JSON对象键将成为一个属性和相应的JSON值将成为的属性值。如果这个参数设置为是中,只有对象其是简单类型(整数,字符串等)的值将成为的属性值,而嵌套对象和数组将递归地平坦化。
如果平展查询结果为属性参数设置为是中,前缀的新属性随着参数可以被用来提供一个字符串与前缀新创建的属性。如果所选择的格式为以GeoJSON或ESRIJSON,格式特定的键不会被添加作为属性,而是将通过适当的格式解析器进行处理。
公开任何属性,使他们能够通过其它变压器使用。直接在文本框中键入或单击浏览按钮来显示编辑和添加属性那里。
JSON查询
甲JSON查询是一种简单的机制来指代JSON文档内的值。查询是由一个或多个表达式,它们通过一个+运算符分开的向上。有三种类型的表达式:JSON结构表达式,JSON属性表达式和字符串常量表达式。
JSON结构表达式
甲JSON结构表达式可以引用值JSON文档英寸最外面的JSON元件,它必须是一个数组或一个对象,总是由术语JSON指代,并且该术语必须出现在每一个JSON结构表达的开始。子元素可以被称为使用JavaScript状括号指数运算符。例如,如果最外面的元件是一个数组,该数组的第一个元件可以由表达式JSON [0]简称,第二元件可以通过表达式JSON [1]被称为,等等。同样地,如果最外面的JSON元件是一个对象,与键“姓名”和“地址”,则这些键的值可以由表达式JSON [“名称”]和JSON [“地址”]分别称为。
这些指数运营商可以进行级联。例如,它的最外JSON元件是具有一键和“地址”,它的值是包含键“城市”和“省”的物体的目标,则这些值可以通过称为表达式JSON [“地址”] [“城市”]和JSON [ “地址”] [ “省”。
为了参考的所有值在数组或对象,可以使用一个通配符指数*。例如,如果最外面的JSON元件是一个数组,则表达式JSON [*]是指在阵列中的每个元件。
JSON属性表达式
属性表达式是如上述那样,通过接着的结构表达。(点)运算符和属性名。目前,唯一支持的属性类型和尺寸。type属性返回JSON值的类型由JSON结构表达式表示。例如,如果最外面的JSON元件是一个数组,并且该阵列的第一个元素是一个字符串,则表达式JSON [0] .TYPE将有字符串的值。大小属性,它只能应用于阵列,返回数组中元素的数目。
字符串文字表达式
字符串文字表达式仅仅是一个引用字符串值,如“这是一个字符串文字表述”。
FME许可级别
FME专业版及以上
编辑变压器参数
使用一组菜单选项,变压器参数可以通过引用在工作区中的其它元件来分配。更先进的功能,如高级编辑,算术编辑,也是一些变压器可用。要访问这些选项的菜单,点击适用的参数旁边。欲了解更多信息,请参阅变压器参数菜单选项。
变压器分类
技术史
美联社FME功能或工厂:JSONQueryFactory
搜索FME社区亚搏国际在线官网
搜索样品和有关该变压器的FME社亚搏国际在线官网区。
标签关键词:JSONExploder