2013-10-28 170 views
0

我已經從url中提取了JSON數據字符串並將其存儲在CSV文件中。將CSV格式的JSON轉換爲表

我現在面臨的問題是,我想以表格格式表示這些數據,以便我可以將其上傳到我的數據庫。

低於我原始JSON數據的一個例子:

{"pizza":[{"url":"www.pizza.com/1.json","id":1,"via":{"channel":"web","source":{"from":{"[email protected]"},"to":{"[email protected]"},"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

會真的很感謝這方面的幫助。

謝謝

+0

雖然上述的連結可能包含慾望d inout和output * now *,最好在這裏包含問題的基本部分,並提供參考鏈接。如果鏈接頁面更改,鏈接可能會失效。 –

回答

0

如果你的最終目標是保存在數據庫中,從JSON獲得您的數據。

我的方法是 - 1)使用JSONObject從JSON中提取相關信息。 JSONOBJECT

2)創建一個包含所有信息的bean。

3)將該bean傳遞給Database類以存儲相應的值。

0

以下是使用jq的解決方案。然而,這部分數據不合法JSON

「source」:{「from」:{「[email protected]」},「to」:{「[email protected]」},

假設你從fromto成員

「源」 中去除環境{}:{ 「從」: 「[email protected]」, 「到」:「myCompany的@ ABC 。COM」,

然後如果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 

產生

"url","id","channel","from","to","created_at","updated_at" 
"www.pizza.com/1.json",1,"web","[email protected]","[email protected]","2013-07-09T08:38:35Z","20132-08-13T09:33:00Z"