3

の大きな部分を検証しようとしてJSONPHPます。

実際のデータを使用する必要はありません。検証するだけで済みます。

json_decodeメモリの制限を超えているため、使用できません。

それを行う最良の方法は何ですか?

4

3 に答える 3

0

制御構造(括弧と中括弧)を数えることができ、開閉構造の数が同じであれば、JSONがOKであると部分的に賭けることができると思います。不適切なネストなど、まだ間違っている可能性のある方法はたくさんありますが、文字列を検証するための本当に良い方法は、文字列をデコードすることだけだと思います。メモリ制限を引き上げるか、JSONの作成者にサブセットを送信させて、サブセットをデコードし、オブジェクトの各部分コンポーネントを検証できるようにすることを検討してください。

于 2012-12-26T18:37:52.160 に答える
0

これは、検証に正規表現を使用する(コンテンツを解析せずに)正規表現を使用して JSONを検証する方法についての説明です。

于 2012-12-26T21:07:38.430 に答える
0

これを行う正しい方法は、パーサーを構築することです。この記事をチェックするか、パーサーを構築するプロセスについて調査してください。基本的に、これは JSON の文法を定義し (これはhttp://JSON.orgでほとんど行われます)、対応するマシンが各タイプのトークンを処理するためのチェックとして機能する関数を構築することを意味します。これにより、処理に必要なメモリ量が削減されます (理想的な実装では、おそらく最大の JSON 値のサイズまで削減できます)。

車輪の再発明ではないことを確認するために、Google で検索する価値があるかもしれません。

于 2012-12-27T03:25:40.147 に答える