私は、私が読みたいRubyを解析するjavascriptアプリケーション用のjavascriptファイルを用意しています。このファイルの内容は、文字列化されたJSONではなく、javascriptで解析されたJSONデータ構造です。javascriptで解析されたJSONコンテンツをルビーに解析する方法
I.E.私のRubyのコードがある場合
require 'rubygems'
require 'json'
file = File.open("testing.js", 'r')
json = file.readlines.to_s
hash = JSON.parse(json)
私testing.js
は、私が変更された場合、私はそれを読んしようと失敗します{
color:"blue"
}
...
JSON::ParserError: 751: unexpected token at '{ color:"blue" }'
動作する場合でありますtesting.jsを文字列化されたjsonコンテンツに変換する
{
"color":"blue"
}
rubyスクリプトを最初のフォーマット(文字列化されていない)で処理できるようにするにはどうすればよいのですか?ちょうど私のファイルの実際の本当の形式は
var setting = {
color: "blue"
}
であると私はちょうど
require 'rubygems'
require 'json'
file = File.open("testing.js", 'r')
content = file.readlines.to_s
json = content.split("= ",2)[1]
hash = JSON.parse(json)
を使用して解析するために「=」記号の右側を抽出しています
を明確にする
...
しかし、上記のエラーはJSON構造体の問題であるため同じです
はい、私は問題を理解しています。このシナリオを処理するパーサを作成します。私は、JSONの宝石はすべてこれだけではできないことを認識しています。私はこのためにコンテンツを前処理するためにルビーコードを書きたいと思うし、誰かがこれまでにこれをしていたかもしれないと思った。 – Streamline