文件格式介绍 2.记录节点 记录数据的根节点。该节点对应的数据为JSON数组,CDM会以同一模式从该数组中提取数据。多层嵌套的JSON节点以字符“.”分割。 3.从JSON文件复制数据 a.示例一:从行分隔/串连的多个对象中提取数据。JSON文件包含了多个JSON对象,例如: {"took": 190, "timedout": false, "total": 1000001, "maxscore": 1.0 }{"took": 191, "timedout": false, "total": 1000002, "maxscore": 1.0 }{"took": 192, "timedout": false, "total": 1000003, "maxscore": 1.0 } 如果您想要从该JSON对象中提取数据,使用以下格式写入到数据库,只需要在作业第一步指定文件格式为“JSON格式”,指定JSON类型为“JSON对象”,然后在作业第二步进行字段匹配即可。 took timedOut total maxScore 190 false 1000001 1.0 191 false 1000002 1.0 192 false 1000003 1.0 b.示例二:从记录节点中提取数据。JSON文件包含了单个的JSON对象,但是其中有效的数据在一个数据节点下,例如: {"took": 190, "timedout": false, "hits": { "total": 1000001, "maxscore": 1.0, "hits": [{ "id": "650612", "source": { "name": "tom", "books": ["book1","book2","book3"] } }, { "id": "650616", "source": { "name": "tom", "books": ["book1","book2","book3"] } }, { "id": "650618", "source": { "name": "tom", "books": ["book1","book2","book3"] } }] } } 如果想以如下格式写入到数据库,则需要在作业第一步指定文件格式为“JSON格式”,指定JSON类型为“JSON对象”,并且指定记录节点为“hits.hits”,然后在作业第二步进行字段匹配。 ID SourceName SourceBooks 650612 tom ["book1","book2","book3"] 650616 tom ["book1","book2","book3"] 650618 tom ["book1","book2","book3"] c.示例三:从JSON数组中提取数据。JSON文件是包含了多个JSON对象的JSON数组,例如: [{ "took" : 190, "timedout" : false, "total" : 1000001, "maxscore" : 1.0 },{ "took" : 191, "timedout" : false, "total" : 1000002, "maxscore" : 1.0 }] 如果想以如下格式写入到数据库,需要在作业第一步指定文件格式为“JSON格式”,指定JSON类型为“JSON数组”,然后在作业第二步进行字段匹配。 took timedOut total maxScore 190 false 1000001 1.0 191 false 1000002 1.0 d.示例四:在解析JSON文件的时候搭配转换器。在示例二前提下,想要把hits.maxscore字段附加到所有记录中,即以如下格式写入到数据库中: ID SourceName SourceBooks MaxScore 650612 tom ["book1","book2","book3"] 1.0 650616 tom ["book1","book2","book3"] 1.0 650618 tom ["book1","book2","book3"] 1.0 则需要在作业第一步指定文件格式为“JSON格式”,指定JSON类型为“JSON对象”,并且指定记录节点为“hits.hits”,然后在作业第二步添加转换器,操作步骤如下: i.单击添加字段,新增一个字段。 图 添加字段 ii.在添加的新字段后面,单击添加字段转换器。 图 添加字段转换器 iii.创建“表达式转换”的转换器,表达式输入”1.0”,然后保存。 图 配置字段转换器