Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:如果字符串很长,则不读取整个字符串_Javascript_Jquery_Html_Jsp - Fatal编程技术网

JavaScript:如果字符串很长,则不读取整个字符串

JavaScript:如果字符串很长,则不读取整个字符串,javascript,jquery,html,jsp,Javascript,Jquery,Html,Jsp,我有一个非常长的JSONstring,包含269313个字符,它作为一个JavaScript变量存储在一个单独的js文件中 用categorisationontree_HNB7x.js说 jsonMenuData = '[{"mopId":"AUDIT","mopType":"M","exeName":"","inputFileName":"","menuDesc":"Finacle Audit Menu","menus":{}},.... 我正在将这个js文件导入我的html页面 <s

我有一个非常长的JSONstring,包含269313个字符,它作为一个JavaScript变量存储在一个单独的js文件中

用categorisationontree_HNB7x.js说

jsonMenuData = '[{"mopId":"AUDIT","mopType":"M","exeName":"","inputFileName":"","menuDesc":"Finacle Audit Menu","menus":{}},....
我正在将这个js文件导入我的html页面

<script src="../categorisedData/CategorisationTree_HNB7x.js" type="text/javascript"></script>


$(文档).ready(函数(){
//创建菜单元素
log(jsonMenuData.length);
});
当我试图打印这个字符串的长度时,在控制台日志中,它仅显示为267921个字符。字符串变量中似乎缺少最后1392个字符。 不管字符串有多大,总是缺少最后1000个字符


我错过了什么。如何处理这个问题?

我不确定确切的问题是什么,因为我看不到您要测试的问题字符串,但是JS使用UTF-16作为字符串,字节长度不同于.length

例如:

//JS字符串长度
“A”。长度/->1
“玟”。长度/->1

“正如@CRice所提到的,Json字符串中有一些垃圾字符,如“\u003d”。在生成Json字符串时,我已将所有非字母数字字符替换为null。现在字符串长度匹配,我也能够解析Json


感谢大家提供的输入。

看起来它应该只是一个包含json的字符串,此时未进行解析。请确保该字符串中没有未转换的单引号。如果您知道缺少多少字符,它应该让您知道在何处查找一个。OP,是否有控制台错误?是否有差异可能来自转义字符?即:
“\n”
“\t”
是字符串文字中的两个字符,但当javascript对其进行解释时,它会变成换行符/制表符(一个字符),导致差异?有效点。OP可以尝试解析json并查看是否确实缺少任何记录。@rmlan-没有控制台错误。
<script>
    $(document).ready(function(){
        //creating menu elements
        console.log(jsonMenuData.length);
    });
</script>