私はクライアントUIのテストを書こうとしています。JSONはブラウザでは解析されますがnode.jsでは解析されません
奇妙なことに、私のJSON文字列:ブラウザによってJSON.parseによって解析されるために使用
{"match":"\s?5\.7\s?\<=\>\s?7","success":"null-coalesce-operator"}
(クローム)とは、次のようになります。
{
match: "\s?5\.7\s?\<=\>\s?7",
success:"null-coalesce-operator"
}
すべてがうまくある、
しかし、node.js env内のmochaでその部分を実行すると、次のようになります。
{"match":"\s?5\.7\s?\<=\>\s?7","success":"null-coalesce-operator"}
^
SyntaxError: Unexpected token s
at Object.parse (native)
...
誰もこのようなものを経験しましたか?任意のtippのためのthx。
<!doctype html><html><body><div data-meta="{"match":"\\s?5\\.7\\s?\\<=\\>\\s?7","success":"null-coalesce-operator"}"></div></body></html>
それだけで一行:
ノードのバージョンがあるv5.7.1
モカバージョンは、私がテストし2.4.5
UPDATE HTML文字列をされています文字列なしの文字列\ n改行と同じ。
申し訳ありませんが、RegExも変更されていますので、表現は便宜上同じでなければなりません。私は尋ねます。その場合、なぜブラウザのJSON.parseに問題がないのでしょうか? – zavalit
それはregexprを変更しません!テストしましたか?文字列内に** **アンチ・ラッシュを書くので、文字列には** ** **が含まれています!正規表現は '\ s'を読み込みます...しかし、なぜそれがブラウザで動作するか知っている、私はクロムでそれをテストした、それは同じエラーを投げる – Vincent
jo、私はそれをテストした:私は{match: '\\ s?5 \\。7 \\ s?\\ <=\\> \\ s?7 '、...} – zavalit