0

PHPを使用して大きなJSONファイルを解析しようとしましたが、常にエラーが発生します。http://jsonlint.com/
を 使用してJSONファイルを検証しようとすると、次のような「不要な」スペースと改行文字で区切られたいくつかの単語があるという多くのエラーが発生しました。

{
                "id": "1",
                "qn
 ame": "detik.co.id.",
                "source": "undefined"
},  

「qname」という単語が「qn」と「ame」に分かれていることに注意してください。これら2つの間にスペースと改行文字があります。

正しいものは次のようになります。

{
                    "id": "1",
                    "qname": "detik.co.id.",
                    "source": "undefined"
 },  

同様のエラーがたくさんあるので、それらの文字を1つずつ手動で削除するのは面倒です。この問題に対処するためのより迅速な方法はありますか?

4

2 に答える 2

0

データによっては、すべてのスペースと改行文字を取り除くことができます。

tr -d ' \n' < input_json.txt > spaceless_json.txt

しかしもちろん、次のようなスペースが埋め込まれたデータがある場合、それは壊れます。

"var one" : 1
于 2012-07-31T02:50:58.347 に答える
0

コマンド ライン オプションが機能しない場合は、str_replace() を試してください。

$parsed = json_decode( str_replace( array( "\r\n", "\r", "\n", "\t" ), '', $nasty_string_from_file ) );
于 2012-07-31T03:04:28.423 に答える