GET call /giveMyTree在size.In前端提供了一个超过2 gb的Json,我们正在解析该json并对整个json进行处理,并显示json包含的数据。
Json结构采用嵌套结构。
{
tree1
|_ O{0}
|_ branch[50]
|__
| Point[1000]
| |___ branch {225}
| :
| :
|___ Line[10000]
: |____start{1}
: | |
: | __ branch{122}
. | :
. | :
|____end{1}
| .....
. :
. :}
在解析整个json后,我们显示了1000个节点,10000个链路和其他数据。
我无法在浏览器上显示此数据,浏览器在处理此data.Is时崩溃或挂起,有任何方法可以将此数据加载到浏览器并将图形显示给最终用户。
发布于 2016-06-18 18:26:13
浏览器将不得不加载JSON来解析它,2 GB的JSON将在内存中创建超过2 GB的JS对象。
即使是一个4K的显示器,一次最多可以显示32MB的数据(4K*2K*4 = 32M),如果你主要是文本,远远少于这个数字,所以你不需要在一次传输中显示1 GB的数据。
当前的浏览器在解析数百兆字节的JSON时存在问题,因此您必须更改API,以便一次传输较小的块-您应该将每个JSON答案的大小降至20 MB以下,方法是从通用树中删除细节(并在用户打开单个条目时获取它们),或者将整个树分解为更小的块(仅加载根节点和所有子节点,当子节点展开时,获取子子节点)。
https://stackoverflow.com/questions/37895744
复制相似问题