JSONオブジェクトをCSVファイルにエクスポートしたいと思いますが、サブフィールドにはオブジェクトの配列によってサブフィールドが設定されている可能性がありますCSVの埋め込みデータを表します。CSVでJSONオブジェクトを表現する方法
答えて
これは、表形式のデータにマッピングする半構造(ツリー状)のデータにダウンしています。インピーダンスの不一致のため、これはまったく簡単なことではありません。
実際には一般的に使用されている(そして教えられている)方法がいくつかあり、主にXML用に確立された広範な学術研究がありますが、原則としてJSONにも適用できます。
-
あなたのデータのような規則的なパターンを(以下の場合は、まず
:ゲーム内の配列が存在する場合トリッキー一部である
| foo.bar | foobar |
|---------|--------|
| 10 | foo |
:
{
"foo" : {
"bar" : 10
},
"foobar" : "foo"
}
をにマッピングすることができます。
{
"objects" : [
{
"foo" : {
"bar" : 10
},
"foobar" : "foo"
},
{
"foo" : {
"bar" : 40
},
"foobar" : "bar"
},
{
"foo" : {
"bar" : 50
},
"foobar" : "bar"
}
]
}
にマッピングできます:出力CSV内のすべての行は、あなたが同様のオブジェクトの大きな配列を持っている場合は、あなたがそれらを作ることができ
| objects.pos | objects.foo.bar | objects.foobar |
|-------------|-----------------|----------------|
| 1 | 10 | foo |
| 2 | 40 | bar |
| 3 | 50 | bar |
これは、最も簡単だろうなアプローチであります出力CSVはまだ分かりやすいですが、ユースケースごとにデータを調整するために、特にアレイの配置が異なる場合には、再度設計する必要があります。
理論的な観点から、この第1のアドホックアプローチは、データを正規化して、すなわち第1正規形以上にする。
エッジシュレッディングやツリーエンコーディングなど、より一般的なアプローチがあります。デコードにはかなりの作業が必要なため、ユースケースでは余計に使用される可能性があるため、リレーショナルデータベースの上に複雑なXMLクエリを実装する意味があります。
要するに、エッジシュレッダーでは、葉を格納する各タイプ(JSONでは数値、文字列、ブール値など)ごとに1つのテーブル(CSVファイル)を作成し、元のJSONツリーのエッジ。
tree encodingで、あなただけのスマートすべてのノードとツリーの葉を保存する1つのテーブル(CSVファイル)を使用します。ここでも、XMLにチューニングされていますが、おそらく適応可能です。
JSONはXMLよりも若干若いので、テーブルへのマッピングについて既にどの程度の研究が行われているのかよくわかりません。一般的なマッピングではなくJSONに具体的に対処することも可能です原則は似ています。
これは本当に面白そうです! JSONオブジェクトが配列に埋め込まれているため、オブジェクトがかなり複雑になりました。他の配列の子となることもあります。私はエッジ破砕し、ツリーのエンコードに近い顔をしているでしょうが、私は私も人間が読めるファイルとマシン解析可能なを持っているためにすぐに解決策を見つけないと思います。ありがとう! – awzx
実際、人間が読めるようにする必要がある場合は、アドホックなアプローチが最適と思われます。 JSONデータが非常に規則的であり、すべてのオブジェクトが限られたスキーマセットに多かれ少なかれ一致する場合は、ネストされた配列やオブジェクトでも機能するはずです。ネスティングのいくつかのレベルでは、これの上に、高、標準形との間の妥協の重大な問題(外部キーを持つ複数のCSVファイルが、非常に小さな重複)以下正規形(潜在的に1つのCSVファイルが、来ます重複データの多く)。これは、データで何をする必要があるのか、また、使用量が読取りまたは書込み集中であるかによって異なります。 –
csvはjsonほど表現力がありません。しかし、csvでjson構造を偽造する方法はたくさんあります。その上
https://konklone.io/json/?id=a624ffaa84db538b4a10465c72bf393d
より:例えば http://blog.appliedinformaticsinc.com/how-to-parse-and-convert-json-to-csv-using-python/
- 1. ハイチャートでjsonオブジェクトを表現
- 2. JOSE4J:RsaJsonWebKeyのJSON表現からRsaJsonWebKeyオブジェクトを作成する方法
- 3. JSONオブジェクトのエンティティ値のリストを表現する方法
- 4. jsonオブジェクトの配列としてオブジェクトのリストを表現する方法
- 5. 上記のパターンのMapコレクションタイプのJSONオブジェクトの表現方法は?
- 6. Jsonスキーマ - 混合フィールドを表現する方法種類(文字列とオブジェクト)?
- 7. Functional Pythonでのオブジェクトの表現方法
- 8. unicodecsv.DictReaderがcsvファイルを表現する方法
- 9. JSON-LDで選択肢のコレクションを表現する方法
- 10. JSONでデータを表現する正しい方法
- 11. iphone画面でJsonデータを表現する方法は?
- 12. Swagger-1.2:モデルスキーマでn-nested JSONオブジェクトを表示する方法
- 13. jsonオブジェクトの全長を.replace()関数で表示する方法
- 14. UMLで共有オブジェクトを表現する方法は?
- 15. Javaでオブジェクトを視覚的に表現する方法は?
- 16. Firebase JSONツリーで2つの方法の関係を表現する方法は?
- 17. JSONオブジェクトからJavaへの表現
- 18. JQueryでJSONオブジェクトをシリアライズする方法
- 19. JavaでJSONオブジェクトをシリアライズする方法
- 20. JSONでオブジェクトの配列を2つの値できちんと表現する方法はありますか?
- 21. 辞書JSON表現を通常のJSONにコンサートする方法は?
- 22. クラスとオブジェクトで以下の時間表データを表現する方法
- 23. MVCコントローラーからJsonオブジェクトを表示する方法
- 24. テンプレートにオブジェクトを表示する方法jsonのようにFlask?
- 25. オブジェクトの集合を表現する方法
- 26. JSONでグラフを表現する
- 27. SwiftでJSONのネストされた型で辞書を表現する方法
- 28. http_request内でJSONオブジェクトを送信する方法と、サーバー上でJSONオブジェクトにアクセスする方法は?
- 29. * ngForとアクセスキー、オブジェクトの値を使用してjsonオブジェクトを表示する方法
- 30. HTTPURLConnectionでJSONオブジェクトを渡す方法
あなたの目標は何ですか?たぶん、YAMLの糖衣構文を検討 –
という一般的な答えはありません、あなたはいくつかのサンプルデータをポストする必要があります。 CSVはフラットな円柱データストアであり、フラットな円柱データでのみ機能します。あなたのjsonが、例えば、データのようなリストを保持するリスト、またはデータのような辞書のリストである場合、おそらくあなたは何かを持っています。しかし、一般的な1対1のマッピングはありません。 – tdelaney
は、あなたが「tableize」あなたのデータに必要なすべての最初の、CVSはテーブルですので、あなたのデータは、任意の部分構造ずにオブジェクトの配列でなければなりません。データ構造を投稿して、これを実現する方法を見つけ出すことができます。 – misher