需要通過介面調取資料 資料量有點多 通過這個方法決議的時候報錯


如何解決比較好 是讓對方少發點資料 還是更新下介面 分批處理 如何更新呢
uj5u.com熱心網友回復:
減少資料,增加分頁或者壓縮zip下載等方式互動大資料。uj5u.com熱心網友回復:
接收到的資料是json格式的字串 是否可以不通過那個方法直接使用 或者分批決議呢 增加分頁或壓縮zip下載又是怎樣的方式呢uj5u.com熱心網友回復:
分批傳不行嗎,非得這么大,gzip一下,分批決議不合適,不知道從哪開始分吧uj5u.com熱心網友回復:
總共要接收一百多萬條資料 這一次是接收了6W左右 因為介面是一天調一次的 所以可能急了點 有什么好方法嗎。。。。
uj5u.com熱心網友回復:
資料量有這么大 ,那應該是一個json陣列吧,如果一個object有這么大
然后陣列的型別應該是json物件
這樣你就可以自己寫一個簡單的拆分陣列的方法 就是去掉首尾的[]
然后用一個簡單處理{}的方法將第一個物件提取出來(要注意處理字串里的{}!!),然后反序列化
接著一個個處理之后的物件
uj5u.com熱心網友回復:
源資料格式化一下,一行一條json資料,存文本,gzip,用檔案流傳過來,服務器再逐行決議uj5u.com熱心網友回復:
分批傳吧。太多了uj5u.com熱心網友回復:
分批取值分批傳,一碗飯不能一口吃uj5u.com熱心網友回復:
你可以了解一下 protobuf 相對來說 json還是慢!uj5u.com熱心網友回復:
看了下,JavaScriptserialize沒有分段讀取的功能,看來只有自己寫演算法了估計是陣列
可以用一個堆疊,依次讀取json串,將[統統壓入,碰到第一個],開始出堆疊,......
uj5u.com熱心網友回復:
超過int表示范圍了,陣列裝不下,得分批uj5u.com熱心網友回復:
分頁傳輸吧。。uj5u.com熱心網友回復:
將源資料分多個檔案,然后壓縮打包,你接收到檔案,解壓縮使用。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/103358.html
標籤:C#
