jsonファイルから不変オブジェクトをロードしようとしています。それを要求してからfromJS関数に入力すると、単純なJSオブジェクトが戻ってきます。JSONファイルからロードされたオブジェクトが異なる結果を返し、JSファイルのオブジェクトが宣言されました
オブジェクトを作成せずに同じファイルにオブジェクトを作成すると、うまくいきます。出力を必要とされないオブジェクトログコンソールを使用した場合
はまた、私は気づいた:
jsonObj.json
{
"im":"a json Object"
}
jsObj.js
export default {
"im":"a js object"
}
test.jsを
'不変'からのインポート{fromJS}。
describe('immutable test',()=>{
it('should be able to load and parsed json from file',()=>{
var json = require('./jsonObj.json');
var js = require('./jsObj.js');
console.log(json);//output: { im: 'a json Object' }
console.log(js.default);//outputs: { im: 'a js object' }
console.log(fromJS(json));//outputs: { im: 'a json Object' }
console.log(fromJS(js.default));//outputs: Map { "im": "a js object" }
//if adding:
JSON.parse(json);//throws:
// SyntaxError: Unexpected token o in JSON at position 1
// at Object.parse (native)
});
});
私が使用しています:
不変3.8.1
ノード6.3.1
任意の助けを?ありがとう
することができます:あなたが
.json
ファイルを必要としたら、それは解析された文字列を期待しJavascript object
JSON.parse
ながらとして格納されているは、何の驚きこれはエラーをスローしません実際のコードを提供しますか?不変のマップではなく、デフォルトのjavascript [マップ](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)のようです。 – Dom
コードを追加してください。また、 "私はjsonファイルから不変オブジェクトを読み込もうとしています"ということはどういう意味ですか?あなたはJSONを読み込み、それを不変のマップ/リストに変換しようとしていますか?それとも、文字通りディスク上に不変オブジェクトのシリアル化されたバージョンを持っていますか? – rooftop