私はこのようなjsonを見ています
{
"key": "cow",
"value": "woof"
}
{
"key": "dog",
"value": "moo"
}
そして、私はそれを解析したいのですが、JSON.parse は機能しません。全体としては本当にjson ではないからです。実際には改行もありませんので、次のようになります
{"key": "cow","value": "woof"}{"key": "dog","value": "moo"}
理由については、これは Comet エンドポイントからのストリームです。理想的には、それは 1 つずつ来るはずですが、時々中断があり、それが戻ってきた後、中断が起こってから起こったすべての変更のリストをつなぎ合わせて受け取ります。したがって、接続が切断されている間に 3 つの dict がダウンすることを意図していた場合、最後にそれらすべてを一度に取得します。
{"key": "cow","value": "woof"}{"key": "dog","value": "moo"}{"key":"cat","value":"baaa"}
この種の json をブラウザで解析する便利な方法はありますか?
編集:申し訳ありませんが、オブジェクトを任意にネストでき、あらゆる種類のもの、Unicode文字、配列、オブジェクト、オブジェクトを含む配列、すべての形状とサイズのブレースなどを含めることができるとは言いませんでした。これらの場合、文字列分割または正規表現ソリューションは失敗します。私は怠け者だったので、これらの例には何も入れませんでしたが、より代表的な例は次のとおりです。
{
"key": "cow",
"value": {
"body": "big",
"name": "sally",
"children": [
"bob",
"daisy"
]
},
"alt-key": "牛"
}
{
"key": "dog",
"value": "moo{}{}{}}}} i love brackets[[[]] ]]]] }{}",
"array": [
"豆沙包",
"叉烧包"
]
}
regex/stringsplit は 95% の確率で機能しますが、正しい json が供給されたときに常に機能する厳密に正しいソリューションを探しています