我正在开发一个应用程序,在该应用程序中需要发送大型JSON - 大约7M个字符(6.6 MB数据)。该JSON被正确接收为字符串,但是当我尝试用JSON.parse解析它,我得到一个错误:JSON.parse失败并显示有效的JSON
Uncaught SyntaxError: Unexpected token
我已经插入的JSON到JSONLint,和它说,它是有效的。我该如何解决这个问题?
我做了一个dump的json,对于那些感兴趣的人。它是3D结构的网格数据。
我正在开发一个应用程序,在该应用程序中需要发送大型JSON - 大约7M个字符(6.6 MB数据)。该JSON被正确接收为字符串,但是当我尝试用JSON.parse解析它,我得到一个错误:JSON.parse失败并显示有效的JSON
Uncaught SyntaxError: Unexpected token
我已经插入的JSON到JSONLint,和它说,它是有效的。我该如何解决这个问题?
我做了一个dump的json,对于那些感兴趣的人。它是3D结构的网格数据。
您的7M字符(假设大部分为拉丁文)转换为7MB的UTF8数据或14MB的UTF16数据。今天的浏览器可以处理这些问题,因此我认为您的数据在从服务器到实际解析它的代码部分的某处发生了损坏。
也许将字符串输出到HTML textarea
并在JSONLint中再次运行。
刚刚尝试过,根据JSONLint它仍然有效。 Chrome表示它是6.6 MB的数据。顺便说一下,我注意到这个问题已经被降低了,为什么呢? – user1846231
@ user1846231我的5美分,所以我可能是错的......(一些)所以用户倾向于对“为我做我的工作”这样的问题进行判断,而不是说这就是你在做的事情,但是这个平台在最好的时候对新用户来说可能有点苛刻。 (认为它是代表较低代表的组合,并且它只是一个纯文本问题,没有代码示例) –
@ user1846231当我浏览到您提供的URL时,打开我的开发工具(F12)并在控制台中输入以下命令,JSON解析得很好:'JSON.parse(document.getElementsByTagName('body')[0] .innerText)' – Lucero
7 ... million ... characters .....?大约14Mb(取决于编码),我不认为不能被截断/分页。我会首先解决这个问题,然后再担心由于数据的重量而导致的任何解析问题。 –
请输入密码? :) – Pierre
你确定它是'JSON'的字符串表示吗? – Rayon