Servlet如何识别使用post方式提交的json数据.
在向服务器端提交了json
数据后,可以使用流的方法来读取然后使用Gson
来获取数据.但是如果需要分辨的不同的应该如何处理了,我是使用Gson
转换,然后根据对象的不同变量是否为空来判断的,暂时没有发现问题.请问有其他好的方法来处理这样类似的情况吗?
request.setCharacterEncoding("UTF-8");
StringBuilder sb = new StringBuilder();
sb.append("{");
try(BufferedReader reader = request.getReader()) {
char[]buff = new char[1024];
int len;
while((len = reader.read(buff)) != -1) {
sb.append(buff,0, len);
}
sb.append("}");
}catch (IOException e) {
e.printStackTrace();
}
Info info = gson.fromJson(sb.toString().trim(),Info.class);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
两个办法:
url一个接口就对应一个类
json上添加类型信息,先得到类型信息,然后反序列化
JsonParser 可以将 JSON 识别为 JsonElement,有一些
isXxxx
方法和getAsXxxx
方法,一般提供的对象都是 JsonObject,所以可以转换成 JsonObject,再获取这个 JsonObject 对象的某个属性来判断……过程有点麻烦,但看文档应该看得明白如何识别是
servlet
的工作,post的话只要覆盖servlet
的doPost
方法。同一个url,用一种请求方式,应该只有一种逻辑一种数据结构吧
可以用JSONObject,不过需要相关的jar包