JavaScript:如果字符串很长,则不读取整个字符串
我有一个非常长的JSONstring,包含269313个字符,它作为一个JavaScript变量存储在一个单独的js文件中 用categorisationontree_HNB7x.js说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
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>