将CSV格式的JSON转换为表格

时间:2013-10-28 16:54:49

标签: java sql json csv

我已经从网址中提取了JSON数据字符串并将其存储在CSV文件中。

我现在面临的问题是我想以表格格式表示这些数据,以便我可以将其上传到我的数据库。

以下我的原始JSON数据示例:

{"pizza":[{"url":"www.pizza.com/1.json","id":1,"via":{"channel":"web","source":{"from":{"john@xxx.com"},"to":{"mycompany@abc.com"},"rel":null}},"created_at":"2013-07-09T08:38:35Z","updated_at":"20132-08-13T09:33:00Z","type":"incident"}]

我的CSV格式JSON示例:

http://s18.postimg.org/alwadflsp/my_Code.png

我想要的输出的一个例子:

http://s18.postimg.org/4md4niqe1/myoutput.png

非常感谢有关此事的帮助。

谢谢

3 个答案:

答案 0 :(得分:1)

为该任务编写了(众多)小型命令行实用程序,也许您会发现其中一个有用:

答案 1 :(得分:0)

如果您的最终目标是将从JSON获得的数据保存在数据库中。

我的做法是 - 1)使用JSONObject从JSON中提取相关信息。 JSONOBJECT

2)创建一个包含所有信息的bean。

3)将该bean传递给Database类以存储相应的值。

答案 2 :(得分:0)

以下是使用jq的解决方案。但是,这部分数据并非合法的JSON

  

"源" {"从" {" john@xxx.com"}"至" {&#34 ; mycompany@abc.com"},

假设您从df2 = pd.DataFrame({"c3": range(15, 22), "c4": range(11, 18)}, index=["A_suf1", "B_suf2", "A_suf2", "C_suf2", "B_suf1", "D_suf1", "F_suf1"]) c3 c4 A_suf1 15 11 B_suf2 16 12 A_suf2 17 13 C_suf2 18 14 B_suf1 19 15 D_suf1 20 16 F_suf1 21 17 from成员

中移除了周围的{}
  

"源" {"从":" john@xxx.com","至":" myCompany的@ abc.com",

然后如果to包含以下过滤器

filter.jq

[ .pizza[] | {url, id} + (.via | {channel} + (.source | {from, to})) + {created_at, updated_at} ] | (.[0] | keys_unsorted) , (.[] | [.[]]) | @csv 包含您的示例数据,然后是命令

data.json

产生

$ jq -M -r -f filter.jq data.json