2

jsonとしてフォーマットされたさまざまな文字列をjsonパーサーに渡す必要があります。

問題は、jQuery.parseJSON()とJSON.parse()が非常に厳密なjson形式のみをサポートしていることです。

不正な形式のJSON文字列を渡すと、例外がスローされる可能性があります。たとえば、以下はすべて不正な形式のJSON文字列です。

{テスト:1}(テストの前後に二重引用符はありません)。

{'test':1}('test'は二重引用符ではなく一重引用符を使用しています)。

そのような値を(引用符なしまたは一重引用符付きで)渡すことができる、より制限の少ないパーサーはありますか?

ところで、私はKO 2.2.1を使用しているので、そのようなものがあれば役立つでしょう。

4

2 に答える 2

2

非厳密なJSONを解析するjsonicというノードモジュールがあります。

npm install jsonic


evalを使用することもできます。

var parsed = eval(json)

コードを実行する可能性もあるため、注意evalしてください。解析対象を確実に把握する必要があります。

于 2017-06-09T16:12:41.330 に答える
1

それほど厳密ではないJSONパーサーのようなものはありません。整形式のJSONを扱っているか、JSONをまったく扱っていないかのどちらかです。カスタム形式を解析するには、Crockfordのパーサーソースコードを確認し、ニーズに合わせて変更することをお勧めします。

または、迅速で汚いソリューションの場合は、単に使用することもできますeval(ただし、その使用にはセキュリティ上の影響があることに注意してください)。

于 2013-02-04T12:40:47.873 に答える