打开Kettle工具,创建转换 通过使用Kettle工具,创建一个转换json_extract,并添加“JSON input”控件、“表输出”控件以及Hop跳连接线。
2.
配置JSON文件输入控件 双击“JSON input”控件,进入“JSON输入”界面。 单击【浏览】按钮,选择要抽取的JSON文件json_extract.json单击【增加】按钮,将所选择的文件添加到“选中的文件和目录”处。 单击“字段”选项卡,添加要抽取的数据字段(这里采用分层抽取数据字段,先抽取id和data字段,再从data字段中抽取field和value字段)。 双击“JSON input 2”控件,进入“JSON输入”界面。 勾选“源定义在一个字段里?”的复选框在“从字段获取源”处的下拉框中选择字段名,即data。 单击“字段”选项卡添加从字段data中抽取的field和value字段。
3.
配置表输出控件 双击“表输出”控件,进入“表输出”配置界面。 单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。 单击目标表右侧的【浏览】按钮,选择输出的目标表,即数据表json勾选“指定数据库字段”的复选框,用于将数据表json的字段与JSON文件json_extract.json中的字段进行匹配。 单击“数据库字段”选项卡,再单击【输入字段映射】按钮,d出“映射匹配”对话框,将“源字段”选项框的字段和“目标字段”选项框对应的字段进行映射匹配。 “表输出”控件配置的最终效果。
4.
运行转换json_extract 单击转换工作区顶部的 按钮,运行创建的json_extract转换。
直接输出就可以了 String jsondata = "{'a':" + a + ",'b':" + b + ",'c':" + c + "}"如果abc是字符串就加上单引号,如 String jsondata = "{'a':'" + a + "','b':'" + b + "','c':'" + c + "'}"如果abc是数组 String jsondata = "{'a':[" + a[0] + "," + a[1] + "," + a[2] + "],'b':...}" 如果abc是对象就相对复杂一点 String jsondata = "{'a':{'a_paramStr':'" + a.paramStr + "','a_pramaInt'}:a.pramaInt},'b':...}"当然,如果对象的成员变量很多,可以可以通过对象遍历的方式输出,还有包含子对象、子子对象的情况 总结如下 格式:{'数据名':数据值} 数据值为数字时,直接输出 数据值为字符串时,用单引号包含值,'数据值' 数据值为数组时,用中括号包含,[数据值1,数据值2,...] 数据值为对象时,用大括号包含,{'成员名1':成员数值1,'成员名2':{'成员2对象的成员1','成员2对象的成员1值'},...} 数据与数据之间用逗号隔开,以上 一句话,如果传送数据很简单可以自己输出如果很复杂,乖乖用三方json包吧,我真不懂为什么抗拒别人做的车轮欢迎分享,转载请注明来源:内存溢出
评论列表(0条)