我們有一個提供網站的Apache服務器。該網站創建一個GET-Request,在服務器上運行一個C++程序。該程序創建一個3D場景,並用包含該場景的json來回答Get-Request。然後使用WebGL將場景呈現在瀏覽器中。大型JSON無法通過瀏覽器處理
這對小場景非常適用。 當json大於〜125 mb時,Chrome會引發錯誤。 Firefox可以處理高達260 mb的jsons。
我創建使用jQuery的Get請求:
BP2011D1.ServerProxy.prototype.loadMesh = function(requestParameter, callbackOnSuccess, callbackOnError)
{
$.ajax({
type: "GET",
url: this.getServerURL() + "/cgi-bin/" + this._treemapDirectory + "/hpi_bp2011_app_fcgi",
data: requestParameter + "&functionName=getMesh",
dataType: "json",
success: callbackOnSuccess.execute,
error: callbackOnError.execute
});
};
對於執行callbackOnError大jsons,所以JSON似乎無效。
我知道json應該是完全有效的。
我認爲瀏覽器不能處理一個大的JSON或一個大的字符串。他在最後剪輯了一些字符,所以丟失的括號會使json無效。
有沒有辦法解決這個問題?我需要處理一個高達800 MB的JSON。
800MB的直接下載的大部分二進制JSON?這相當可笑...嘗試以多個小塊發送。 –
@MarcB事件在大塊,800MB是太龐大的一次解析。瀏覽器甚至扼流幾秒鐘循環10萬次迭代,多800MB數據。 – Joseph
@joseph:我猜這是在一個內部網絡上,所以800mb的千兆位速度並不是太討厭,但它絕對是一個巨大的瀏覽器。 –