Java 如何在服务器端解压json数据请求?
我有一个python客户端代码,它使用压缩的JSON数据点击URL 我想解压缩并在java中打印JSON数据(从客户机请求获得) 客户端代码:Java 如何在服务器端解压json数据请求?,java,rest,compression,Java,Rest,Compression,我有一个python客户端代码,它使用压缩的JSON数据点击URL 我想解压缩并在java中打印JSON数据(从客户机请求获得) 客户端代码: #!/usr/bin/python import sys, getopt import requests import json from zlib import compress s = requests.session() url = "http://1.1.1.1:8080/eventfull/send/data/"
#!/usr/bin/python
import sys, getopt
import requests
import json
from zlib import compress
s = requests.session()
url = "http://1.1.1.1:8080/eventfull/send/data/"
payload = dict(
username="test",
password="test123",
emailid=sys.argv[1],
campaignfrom="info@newsletter.x.com",
send_id="1234",
istest="1",
render_id=sys.argv[2],
subject="Eventfull :: Services HeartBeat",
htmlbody="<html><body><p>Hi Team,</p></br></br><p>This is a Test Campaign to ensure eventfull calls are working as expected</p></br></br><p>Thanks,</p><br><p>Tech Team</p></body></html>",
textbody="Testing"
)
json_string = json.dumps(payload)
compressed = compress(json_string,9)
response = s.post(url, data=compressed )
print response.status_code
print response.content
#/usr/bin/python
导入sys,getopt
导入请求
导入json
从zlib导入压缩
s=请求。会话()
url=”http://1.1.1.1:8080/eventfull/send/data/"
有效载荷=dict(
username=“test”,
password=“test123”,
emailid=sys.argv[1],
活动开始时间=”info@newsletter.x.com",
发送_id=“1234”,
istest=“1”,
render_id=sys.argv[2],
subject=“Eventfull::Services HeartBeat”,
htmlbody=“嗨,团队,这是一项测试活动,旨在确保eventfull呼叫按预期工作谢谢,
技术团队”,
textbody=“测试”
)
json_string=json.dumps(有效负载)
compressed=compress(json_字符串,9)
响应=s.post(url,数据=压缩)
打印response.status\u代码
打印响应内容
由于您使用zlib压缩数据,您可以使用Gzip或InflaterInputStream来解压缩数据,其他stackoverflow用户面临与您类似的问题,您可以找到一种方法将其解压缩为Gzip和InflaterInputStream,谷歌在java中搜索zlib时也发现了这个问题。谢谢大家的帮助,通过你们的帮助,我可以完成我的任务。这可能需要很长时间才能完成,但值得。下面是我的工作代码。[值得分享]
@POST
@Path("/Data")
@Consumes("application/zip")
public Response uploadFile2(InputStream incomingData) {
try {
//Decompressing...
InflaterInputStream inf = new InflaterInputStream(incomingData);
//Extracting Json Data....
JSONParser jsonParser = new JSONParser();
JSONObject jsonObject = (JSONObject)jsonParser.parse(
new InputStreamReader(inf, "UTF-8"));
String name = (String) jsonObject.get("username");
}
catch(SQLException se){
System.out.println(se.getLocalizedMessage());
}
catch (Exception e) {
e.printStackTrace();
}
// return HTTP response 200 in case of success
return Response.status(200).entity("Success").build();
我早就知道这个密码了。首先,我需要获取请求主体(我不知道),然后我可以解压缩。谢谢!