2017-03-24 3 views
2

私はRails(5.0.2を使用)を使い慣れていません。私はJSONファイルから空のSQLite DBをシードしたい。JSONファイルのSeed Rails SQLiteデータベース

私はseed.rbで、私の製品リソースをスキャフォールドが追加さ:中止さ 熊手:

records = JSON.parse(File.read('/home/projects/test1/public/products.json')) 
records.each do |record| 
    ModelName.create!(record) 
end 

は、その後、私はエラーを得たrake db:seed.

を開始しました! JSON :: ParserError:409:予期しないトークン{

」での私のJSONは、様々な性質を持つ製品で構成されています。私は、このJSONファイルを修正し、正しく製品データと私のデシベルをシードするにはどうすればよい

[ 
    { 
    "model": "Brand", 
    "brand": "Brand", 
    "price": 19.99, 
    "currency": "GBP", 
    "link1": "https://www.amazon.co.uk/Call-Duty-Ghosts-Hardened-Xbox/dp/B00ECQJ0BS/ref=pd_sim_107_4?_encoding=UTF8&psc=1&refRID=9GE6A8BW61S1FG4H3ZRJ", 
    "link2": "", 
    "size1": "{min: "5",max: "90"}", 
    "net_weight": "263 kg", 
    "size2": "{w: "19.4",h: "11.7",z: "12.7"}", 
    "d1": "", 
    "color": "['Black','White']", 
    "materials": "plastic+concrete, glass ceiling", 
    "models": "['model 1', 'model 2', 'model 3', 'model 100']", 
    "props": "['prop1', 'Prop1', 'Prop1']", 
    "": "", 
    "size3": "{w: "100",h: "200",z: "500"}" 
    }, 
    ] 

それから?

手動で作成したJSONファイルをRailsにインポートするのが最善の方法ですか、それとも他の方法を試してみるのが良いですか?

+3

これは無効なJSON http://jsonlint.com/です –

答えて

1

問題はsize1,size2、およびsize3プロパティです。これらのキーのそれぞれについて、値には二重引用符が含まれます。それらを一重引用符に変換したり、それらの前に\を置いてエスケープすると、JSONは正しく解析する必要があります。