私は、複数のJSONオブジェクトを含むファイルをCSVに変換する作業を行っています。少しでも簡単にするために、オブジェクトを取得して1つのオブジェクトにすることで、より簡単に解析できるようにしました。ここに私の問題があります:データファイルはコンマのない配列の束なので、私はflattenメソッドを使うことができません。 データファイルは、次のようなものになります。あなたが見ることができるように1つのファイル内に複数のJSONオブジェクトがあります.gsubを使用して1つのオブジェクトに変換できますか?
[{"field1": "sample1", "field2":"sample2"}]
[{"field3":"sample3", "field4":"sample4"}]
を、それはそれらの間にはカンマで配列の束です。
私の考えは、各アレイを通過し、 "] ["と "、"のインスタンスを置き換えて、私のプログラムでそのように解析するようにします。
だから私の目標は、ファイルは次のようになり持っていることです。
[{"field1": "sample1", "field2":"sample2"}, {"field3":"sample3", "field4":"sample4"}]
私が使用しようとしてきたコードは次のとおりです。
data.gsub(/\s(?=[\]\[]), ","/)
私は、これは何かであるかなり確信しています私の正規表現で表現する。私は他の正規表現を使ってみましたが、実際には私が必要とすることをしているようには見えません。
これだけでは機能しません。私はスキャンや挿入を試みることも考えていましたが、gsubはそれらの内側の括弧を取り除き、カンマで置き換える最も良い方法のようでした。
JSONオブジェクトで.foreachループを試してみることをお勧めする人は、.foreachループが同じファイル内の別のオブジェクトを解析しないため、JSONオブジェクトではうまく動作しません。おそらく、実際には複数のJSONオブジェクトで実際に動作するメソッドが見つかりませんでしたが、誰かが動作するメソッドを持っていれば、それも試してみます。
提案していただきありがとうございますが、動作していないようです。他のアイデア? –
私は試して、それは正常に働いた。私があなたと同じページにいることを確認するために、すべての行が配列を含む文字列であるファイルがあります。私は正しい?あなたはそのファイルを含む要点を共有できますか?私はそれを解析しようとします。 –
ありがとうございます。これは私が作業しているサンプルJSONへのリンクです:https://gist.github.com/anfperez/a73325cb05d41c4f0770c5115811e28a –