나는 데이터베이스를 쿼리하기 위해 많은 ajax 호출을 사용하고 있으며 큰 텍스트 (json) 응답을 받는다. 나는 응답을 압축하고 싶다.JSON 응답을 압축하는 방법
JavaScript implementation of Gzip에 자바 스크립트를 사용하여 텍스트를 압축하는 좋은 방법이 있습니다.
문제는 내 aspx 서버에서 응답을 압축하고 javascript로 감추고 싶습니다. 따라서 내 asp.net 서버에서 lzw_encode
함수를 실행해야합니다. 이 함수를 C#으로 변환해야합니까 아니면 다른 방법이 있습니까? 당신은 당신이 사용하여 서버에 코드를 압축 할 수 있습니다 IIS 또는 변경 헤더를 구성 할 해달라고하면 위의 링크를 사용하여
:
C#
public static string Compress(string s)
{
var dict = new Dictionary<string, int>();
char[] data = s.ToArray();
var output = new List<char>();
char currChar;
string phrase = data[0].ToString();
int code = 256;
for (var i = 1; i < data.Length; i++){
currChar = data[i];
var temp = phrase + currChar;
if (dict.ContainsKey(temp))
phrase += currChar;
else
{
if (phrase.Length > 1)
output.Add((char)dict[phrase]);
else
output.Add((char)phrase[0]);
dict[phrase + currChar] = code;
code++;
phrase = currChar.ToString();
}
}
if (phrase.Length > 1)
output.Add((char)dict[phrase]);
else
output.Add((char)phrase[0]);
return new string(output.ToArray());
}
브라우저에 당신이 그것을 압축을 풀 수 있습니다 로 :
자바 스크립트
,343,575,215,471,833 서버 측 응답 객체 내에서210
을 JSON (및 기타) 응답을 압축하는 가장 쉬운 방법은 웹 서버가 HTTP 압축을 사용하는지 확인하는 것입니다. http://en.wikipedia.org/wiki/HTTP_compression 질문에서 참조하는 링크는 자바 스크립트에서 데이터를 압축하여 서버에 저장할 때 저장 공간을 적게 차지하는 방법에 대해 설명합니다. –
그래, 그게 아마도 더 우아한 해결책 일거야. 나는 그것에게 시도 감사를 줄 것이다! –
@TonoNam - 실제 질문과 일치하도록 질문을 변경했습니다. 자유롭게 되돌리기/수정하십시오. –