1

URL から JSON データの文字列を既に抽出し、これを CSV ファイルに保存しました。

私が今直面している問題は、このデータをテーブル形式で表現して、これを自分の DB にアップロードできるようにしたいということです。

以下の生の 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

これに関して本当に助けていただければ幸いです。

ありがとうございました

4

3 に答える 3

2

そのタスク用に書かれた (多数の) 小さなコマンド ライン ユーティリティがあります。

于 2013-10-28T16:57:38.513 に答える
1

jqを使用したソリューションを次に示します。ただし、データのこの部分は正当な JSON ではありません

"source":{"from":{"john@xxx.com"},"to":{"mycompany@abc.com"},

fromandtoメンバーから周囲の {} を削除すると仮定します

"source":{"from":"john@xxx.com","to":"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","john@xxx.com","mycompany@abc.com","2013-07-09T08:38:35Z","20132-08-13T09:33:00Z"
于 2017-09-03T17:09:18.800 に答える
1

最終的な目標が、JSON から取得したデータをデータベースに保存することである場合。

私のアプローチは次のとおりです-1)JSONObjectを使用してJSONから関連情報を抽出します。JSONOBJECT

2) すべての情報を含む Bean を作成します。

3) その Bean を Database クラスに渡して、それぞれの値を格納します。

于 2013-10-28T17:01:29.847 に答える