如何解决jersey框架中以json格式返回数组,当数组中元素一个时json格式不对
原文地址:http://www.cnblogs.com/swpk/p/3566536.html?utm_source=tuicool
jersey 是oracle 出的一个较好的REST框架。使用此框架方便地为我们架设Rest服务。它可以作为一个数据接口的框架,根据配置及请求参数,可灵活地返回不同格式的数据。
若不会搭建,亲参考站内的如何搭建请参考《如何搭建jersey的REST应用》文章。
本人在使用jersey框架中遇到一个问题比较棘手,就是当以json格式返回数组,同时数组中元素只有一个时,返回json格式数据不是我们期望的。错误现象如下:
{
"ResultCode": "",
"ResultDesc": "成功",
"Count": "",
"PageCount": "",
"CountInPage": "",
"PageIndex": "",
"Languages": {
"Language": {
"PKID": "",
"Name": "国语",
"Description": "国语"
}
}
}
以上是单个数据时,框架返回的json数据,我们期望的是Language数组,而不是Language对象。
当返回的数组中是多个数据(即本示例中返回多个语言)时,返回格式正常。正确现象如下:
{
"ResultCode": "",
"ResultDesc": "成功",
"Count": "",
"PageCount": "",
"CountInPage": "",
"PageIndex": "",
"Languages": {
"Language": [
{
"PKID": "",
"Name": "国语",
"Description": "国语"
}
]
}
}
解决方案:
在web.xml中Jersey的拦截器进行配置,增加 org.codehaus.jackson.jaxrs 参数值,样例如下:

见证奇迹的时刻到了:)
{
"ResultCode": "",
"ResultDesc": "成功",
"Count": 4,
"PageCount": 4,
"CountInPage": 1,
"PageIndex": 1,
"Languages": {
"Language": [
{
"PKID": 7,
"Name": "国语",
"Description": "国语"
}
]
}
}
以上内容希望对大家有帮助。
如何解决jersey框架中以json格式返回数组,当数组中元素一个时json格式不对的更多相关文章
- js 使用ES6 实现从json中取值并返回新的数组或者字符串
1.获取的json数据是这样的: data:[ { 'Id': '1', 'Phone': '123456', 'Name': '张三', }, { 'Id': '2', 'Phone': '7894 ...
- C/C++中如何接收return返回来的数组元素
我们知道return语句作为被调用函数的结束,返回给调用者函数值.一般来说,是返回一个函数值,像一个int, double,char等类型的数据,当然也可以是他们的指针.但是当我们遇到要返回很多数怎么 ...
- ylb:转换函数Cast,Convert 指定格式返回
ylbtech-SQL Server:SQL Server-转换函数Cast,Convert 指定格式返回 转换函数Cast,Convert 指定格式返回. ylb:转换函数Cast,Convert ...
- C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法
原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 本人新手,在.Net中写WebAPI的时候,当接口返回的json数据含有日期时间类型的字段时, ...
- Jersey框架二:Jersey对JSON的支持
Jersey系列文章: Jersey框架一:Jersey RESTful WebService框架简介 Jersey框架二:Jersey对JSON的支持 Jersey框架三:Jersey对HTTPS的 ...
- php get接口,并在浏览器中以json格式返回查找到的数据
php查询数据有6个步骤,分别为: 连接数据库服务器,使用的命令为:mysql_connect("服务器名称","用户名","密码") 选择 ...
- javascript 中的JSON.stringify - 将对象和数组转换为json格式(来源于网络)
JSON.stringify 函数 (JavaScript) 将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串. JSON.stringi ...
- 解决IE浏览器中出现“Resource interpreted as Document but transferred with MIME type application/json”问题
在上传图片时,使用ajax提交,返回的数据格式为json.在测试时发现IE浏览器中,上传图片后,没有显示图片,而是弹出一个提示:是否保存UploadImg.json文件:而在其他浏览器中正常. 在Ch ...
- jersey框架实现文件上传
jersey框架是一个开源的RESTful的框架,实现了实现了JAX-RS规范,进一步地简化 RESTful service 和 client 开发.当然而且是必须的,jersey对文件的上传和下载也 ...
随机推荐
- Linux远程访问及控制(SSH)
1.ssh协议:用于远程登录,端口号:22/tcp 配置文件: 1)服务器端口:/etc/ssh/sshd_config 2)客户端 :/etc/ssh/ssh_config 2.服务器监听选项: U ...
- ccf题库中2016年4月2日俄罗斯方块问题
题目如下: 问题描述 俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏. 游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块.每一轮,都会有一个新 ...
- 前端性能优化成神之路—资源合并与压缩减少HTTP请求
资源合并与压缩减少HTTP请求的概要 资源合并与压缩减少HTTP请求主要的两个优化点是减少HTTP请求的数量和减少请求资源的大小 http协议是无状态的应用层协议,意味着每次http请求都需要建立通信 ...
- 【WebLogic】weblogic调优
版权声明:本文为博主原创文章(原文:blog.csdn.net/clark_xu 徐长亮的专栏),未经博主同意不得转载. https://blog.csdn.net/u011538954/articl ...
- LabelImg 图像图像标注工具
https://github.com/tzutalin/labelImg windos版本请不要把存放在中文目录下,否则打不开.
- 配置Linux下vim自动缩进等功能
从终端打开配置文件: vim ~/.vimrc 添加如下代码: set tabstop=4 set softtabstop=4 set shiftwidth=4 set autoindent set ...
- (转)yum提示Another app is currently holding the yum lock; waiting for it to exit...
文章转自 yum 下载东西突然卡主了,我直接ctrl+c退出,然后再次下载时候出现 Another app is currently holding the yum lock; waiting for ...
- linux外接显示屏,关掉本身的笔记本电脑
https://blog.csdn.net/a2020883119/article/details/79561035 先用xrandr命令查看: eDP-1 connected eDP-1是连接着的 ...
- centos7之docker安装
下午四点左右,我准备接触docker这个技术.之所以接触它,原因来自tomcat服务器老是挂,也不能说老是挂,一周一次吧,或者不定时,最初出现的问题,分为这么几类? 一类,java代码的问题,某个类导 ...
- 20175310 《Java程序设计》第1周学习总结(1)安装虚拟机
20175310 <Java程序设计>第1周学习总结(1)安装虚拟机 开学前老师在蓝墨云班课上上传了预备作业,其中有一个就是安装Linux操作系统,参考了<>,下载安装Virt ...