1

node.js と express.js をインストールしましたが、使用しようとしています:

var str = { test: 'info'};
obj = JSON.parse(str);

ただし、エラーが発生します: SyntaxError: Unexpected token 0 at Object.parse (native)

どうすればこれを修正できますか? ありがとう。

4

6 に答える 6

4

あなたはに解析ObjectしていObjectますか?

JSON.parse()期待string:

var str = '{"test": "info"}';
obj = JSON.parse(str);
于 2012-05-15T06:56:57.583 に答える
3

基本的に JSON.parse() は文字列を想定していますが、オブジェクトを渡していたので、代わりに次のようにします:

var original = { test: 'info'};
var str = JSON.stringify(original);
var restored = JSON.parse(str);

JSON に関する役立つドキュメントはこちらhttps://developer.mozilla.org/en/Using_native_JSON

于 2012-05-15T06:59:25.930 に答える
1

str は文字列ではなく、オブジェクトです。最初にすべてを文字列に入れます。つまり、次のようになります。

var str = '{ "test": "info"}';
obj = JSON.parse(str);
于 2012-05-15T06:57:49.833 に答える
0

JSONを作成する場合は、を使用する必要がありますJSON.stringify

var thing = { test: 'info' };
var json = JSON.stringify(thing);

JSONをオブジェクトに解析する場合は、を使用する必要がありますparse。解析では、有効なJSONを使用する必要があります。

var json = '{ "test": "info" }'; //Use double quotes for JSON
var thing = JSON.parse(json);

有効なjsonを使用しているかどうかをテストする簡単な方法は、次のようなものを使用することです。http: //jsonlint.com/

于 2012-05-15T14:51:48.170 に答える
0

呼び出しているものstrは、実際にはすでにオブジェクトです。JSON は必要ありません。純粋な JavaScript だけで十分です。

var obj = { test: 'info'};

console.log( JSON.stringify(obj) );  // JSON output
于 2016-06-17T06:22:25.350 に答える