如何检查JSON响应的大小?

时间:2013-01-01 02:57:18

标签: javascript json

有什么方法可以检查响应大小吗? Data属性是一个字节数组,我用它来显示图像。如果大小超过10 MB,我需要显示一个弹出窗口。

{
  "Name": "sharon",
  "Date": "07\/14\/2004",
  "Data": "JVBERi0xLjINCg0KNC",
  "DocumentId":1540,
}

另外,我如何检查我的回复类型,无论是blob还是其他什么?我可以检查一下我得到的blob的大小吗?也许是这样的:

var data = JSON.parse(this.responseData);

2 个答案:

答案 0 :(得分:1)

你可以使用JavaScript .length来实现这一点,但是实现不同的浏览器以及服务器将报告不同的值,因为对换行的一些解释可以是2个大小值中的一个(字节顺序)。

话虽如此,使用一个“松散”的值,确定包含您需要的数据,而不仅仅是没有值的标题响应。

答案 1 :(得分:0)

您可以将传入的响应插入一行并删除所有不必要的空白区域。

var JSON = '{\r\n' +
'   "Name": "sharon",\r\n' +
'   "Date": "07\/14\/2004",\r\n' +
'   "Data": "JVBERi0xLjINCg0KNC",\r\n' +
'   "DocumentId":1540,\r\n' +
'}';
alert(JSON);
alert(JSON.length); // 101

var newJSON = slurp(JSON);
alert(newJSON);
alert(newJSON.length); // 91

function slurp(str) {
  str = str.replace(/(\r\n|\n|\r)/gm,"");
  str = str.replace(/(\s+|\t)/gm,' ');
  return str;
}