2016-05-03 8 views
0

私の構文がどこでオフになっているのか分かりません。私はこのコンテンツの100のバリエーションを試しました。私はwebpackからyaml-loaderを使用しています。それで、javascriptパーサー。YAMLException:不完全な明示的なマッピングのペア

--- 
colors: 
    - orange: 
    100: "#hexcode" 
    75: "#hexcode" 
    50: "#hexcode" 
    25: "#hexcode" 
    - red: 
    100: "#hexcode" 
    75: "#hexcode" 
    50: "#hexcode" 
    25: "#hexcode" 

はここで完全なエラーです:

ERROR in ./~/json-loader!./~/yaml-loader!./data/colors.yaml 
Module build failed: YAMLException: incomplete explicit mapping pair; a key node is missed at line 1, column 73: 
    ... :\n 100: \"#hexcode\"\n 75: \"#hexcode\"\n 

75::でニンジンのポインタがあります

+0

あなたの問題の詳細をポストする必要があります。解析エラーが出ますか?期待していなかった構造ですか?何を見ていますか? – BadZen

+0

これは、yamlは空白に敏感であるということです。タブとスペースは、行の先頭、特にインデントが必要な場所では入れ替えできません。 – BadZen

+0

@BadZenのフィードバックに感謝します。これは解析エラーです(タイトルで参照されています。これはもっと明示的に身体に追加されました)。私はenvセットアップのための自動タブを持っています。たぶん新しいエラーレポートを見て、何か鐘が鳴るかどうか確認できますか? Thanksl – motleydev

答えて

0

残念ながら、YAMLは複雑なビジネスである解析します。これは一部のパーサーで有効ですが(RubyのYAMLはこれをうまく解析します)、他のパーサーには有効ではないかもしれません。

また、あなたがRubyはオブジェクトの配列としてあることを表現した瞬間に、するcolorsを必要とする構造体のどのような種類に依存します:

orangeredは(理にかなって)未定義キーです
{"colors"=> 
    [ 
    {"orange"=>nil, 100=>"#hexcode", 75=>"#hexcode", 50=>"#hexcode", 25=>"#hexcode"}, 
    {"red"=>nil, 100=>"#hexcode", 75=>"#hexcode", 50=>"#hexcode", 25=>"#hexcode"} 
    ] 
} 

。あなたはおそらく欲しい

はそうのようなネストされたオブジェクトです:

--- 
colors: 
    orange: 
     100: "#hexcode" 
     # ... 
    red: 
     100: "#hexcode" 
     # ... 
+0

答えをありがとう、残念ながらそれはまだ動作しません。私は、エラーの詳細について質問を編集しました。それはJavaScriptのパーサーですが、私は実際には "yaml creativity"で銀行を破っているわけではありません。 – motleydev

+0

Nickの提案はどのように機能しませんか?これは適切な解決策であるようです。 – flyx

+0

その形式の解析エラーは同じです。私は2つの異なるパーサを試しました。それは何らかのバグかもしれません。 – motleydev