Javascript 为什么我';我下载了我的数组,并试图得到它的长度,它只是吐出了数组的字节数

Javascript 为什么我';我下载了我的数组,并试图得到它的长度,它只是吐出了数组的字节数,javascript,jquery,arrays,Javascript,Jquery,Arrays,当我使用jQuery库下载一个数组并使用本机javascript获取其长度时,它只会吐出数组的总字节数,如下所示: $。获取({ 网址:'https://rawgit.com/tvman-123/shrek/master/ExampleOutputForSubscription_Post.php', // 数据:{}, 成功:功能(数据){ 解析数据(数据); } }); 函数解析数据(数据){ console.log(data.length)//返回221 } 当响应来自服务器时,通常以字节

当我使用jQuery库下载一个数组并使用本机javascript获取其长度时,它只会吐出数组的总字节数,如下所示:

$。获取({
网址:'https://rawgit.com/tvman-123/shrek/master/ExampleOutputForSubscription_Post.php', //
数据:{},
成功:功能(数据){
解析数据(数据);
}
});
函数解析数据(数据){
console.log(data.length)//返回221
}

当响应来自服务器时,通常以字节的形式出现(本例中为JSON)。这不再是真正意义上的数组,它更像一个字符串

首先需要将JSON转换为数组。只有这样你才能找到它的真正长度


您忘记了在第一种情况下解析JSON。您应该首先使用,然后查看数组长度。

您只需要
JSON.parse
,因为它是以字节流(本例中为字符串)的形式出现的

$。获取({
网址:'https://rawgit.com/tvman-123/shrek/master/ExampleOutputForSubscription_Post.php', //
数据:{},
成功:功能(数据){
ParseData(JSON.parse(data));
}
});
函数解析数据(数据){
console.log(data.length);
}

接收的数据类型是JSON! 添加数据类型:“json”

$。获取({
网址:'https://rawgit.com/tvman-123/shrek/master/ExampleOutputForSubscription_Post.php', //
数据:{},
数据类型:“json”,
成功:功能(数据){
console.log(data.length);//数据已解析..=)
}
});数组和字符串对象都提供了它们的长度属性。
您正在读取的是检索到的字符串的长度。不是数组对象,因为对象不能通过Internet传播


现在,数据变量中包含的是数组代码的字符串表示形式。为了用作真正的数组对象,需要首先使用(现在广泛支持的)JSONapiparse方法将其计算为对象。然后,您将能够获得数组的长度,而不是字符串长度

当从请求中检索数据时,它总是以字节流(本例中为字符串)的形式出现。它不会预先解析为数组。当数组从API传输时,它们通常作为JSON(对象的字符串表示法)传输。您需要首先解析JSON