首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Glassfish 4中使用jersey的JSON中没有用引号括起的数值字段

在Glassfish 4中使用jersey的JSON中没有用引号括起的数值字段
EN

Stack Overflow用户
提问于 2014-07-30 19:25:28
回答 1查看 436关注 0票数 0

我有一个接受int的web服务,一个字符串返回一个完整的bean。我需要调整返回的JSON的格式。我在运行glassfish 4和jersey

下面是the服务:

代码语言:javascript
运行
AI代码解释
复制
@GET
@Produces( "application/json" )
@Path( "license/{requestID}/{textToVerify}" )
public CustomerBean getMetaData( @PathParam( "requestID" ) int requestID, @PathParam( "textToVerify" ) String textToVerify )
{
   // code removed. 
}

这是返回的bean。

代码语言:javascript
运行
AI代码解释
复制
@XmlRootElement( name = "customer" )
@XmlType( propOrder =
{
    "id", "name", "duration", "status", "dateCreated", "dateActivated", "editionID"
 } )
public class CustomerBean
{
    private Integer id;
    private String serial;
    private Integer duration;
    private Integer status;
    private Date dateCreated;
    private Date dateActivated;
    private int editionID;

   // getter/setters and constructor ommitted...
}

下面是返回的JSON:

代码语言:javascript
运行
AI代码解释
复制
{"id":100,"name":"Joe User","duration":0,"status":2,"dateCreated":"2013-01-03T02:36:35","dateActivated":"2013-01-03T02:39:03","edition":3}

所以所有的数字字段都没有用引号括起来...有没有一种方法可以更改它,使所有字段值都包含在内?我知道这是JAXB早期实现的一个错误,但我现在被卡住了,因为客户端希望所有字段都用引号括起来

我明白在这个简单的例子中,我可以让所有的字段字符串,并按照我想要的方式格式化日期,但这是一个简化的例子-我有近30个不同的bean可以从我的应用程序返回,我不想做所有的转换……如果我可以全局更改JSON,那将是最理想的。

EN

回答 1

Stack Overflow用户

发布于 2014-07-30 21:35:47

根据(http://json.org/),格式正确的数字不会被引用。

不确定您使用的序列化程序是什么,但如果它是Jackson:

代码语言:javascript
运行
AI代码解释
复制
objectMapper.configure(Feature.WRITE_NUMBERS_AS_STRINGS, true);

如果你使用的是Moxy (这是默认的),我不知道它是否可以改变,或者如何改变。如果你想禁用Moxy这样你就可以使用Jackson,向Jersey注册这个类。

代码语言:javascript
运行
AI代码解释
复制
public class Jackson2Feature implements Feature {

    @Override
    public boolean configure(FeatureContext context) {
        final String disableMoxy = PropertiesHelper.getPropertyNameForRuntime(
                CommonProperties.MOXY_JSON_FEATURE_DISABLE,
                context.getConfiguration().getRuntimeType());
        context.property(disableMoxy, true);

        // Allow jaxb annotations
        context.register(JacksonJaxbJsonProvider.class, MessageBodyReader.class, MessageBodyWriter.class);
        return true;
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25045267

复制
相关文章
Tess4j maven demo[通俗易懂]
tess4j 实现文字识别Demo,下面为内容实现源码,内容仅为一个demo,demo下载地址:tess4jDemo
全栈程序员站长
2022/07/01
4280
SonarQube 的安装、配置及 Maven 项目的使用
哎_小羊
2018/01/02
9.8K0
SonarQube 的安装、配置及 Maven 项目的使用
maven如何指定项目的jdk版本(使用maven-compiler-plugin)
在pom.xml中可以通过maven标准编译插件(maven-compiler-plugin)指定项目源代码、字节码的jdk版本
青山师
2023/05/04
2.3K0
maven如何指定项目的jdk版本(使用maven-compiler-plugin)
tess4J 安装使用
参考 https://blog.csdn.net/gs80140/article/details/103938651
全栈程序员站长
2022/08/10
1.7K0
tess4J 安装使用
tess4j正确的使用 OCR
在官网上下载下来的 tess4j 的zip,初见时看的云里雾里的,原以为是个jar,直接引用就好了,结果竟是个zip。网上查一下用法,各种说法,各种菜,全是误导,自己不懂就敢瞎说…
全栈程序员站长
2022/09/01
1.1K0
maven学习系列——(三)maven项目的创建
这一篇大概会整理和总结到有如下知识点: (1):maven的使用入门一些命令 (2):用命令创建项目 (3):使用IDE集成工具创建项目–Eclipse和idea
全栈程序员站长
2022/07/19
2180
Maven聚合项目的创建
点击next修改名称完成构建 这里我们把a-first当做启动项目,需要在maven中加入:
Dream城堡
2019/06/04
6100
Maven聚合项目的创建
IDEA maven 项目的打包
1.在maven projects区域 先clean 然后package这样就OK了
编程那点事
2023/02/25
6200
linux tesseract 安装及部署tess4j项目的常见问题
在windows上项目是可以正常运行的,部署到Linux上后,运行报异常,异常内容为:Unable to load library ‘tesseract’: Native library (linux-x86-64/libtesseract)
Java架构师历程
2018/09/26
4.5K0
linux tesseract 安装及部署tess4j项目的常见问题
maven 解包依赖项中的文件
使用goal:unpack-dependencies 在配置参数includeArtifactIds中指定要解包的模块制件ID
路过君
2022/07/20
2.5K0
eclipse导入maven项目的设置
Windows-preference-maven-user settings,更改为自己安装的maven目录下的设置文件。 conf-settings.
全栈程序员站长
2022/09/01
6290
eclipse导入maven项目的设置
eclipse使用maven创建web3.0项目
默认情况下,使用maven骨架撞见的webapp只支持servlet2.3,eclipse又不允许随便修改为3.0。
pollyduan
2019/11/04
6390
谈一谈|使用Idea打开Maven项目的正确姿势
在学习网上大神们的源码过程中,经常有一些打包好的项目可以提供给自己参考学习,其中不乏一些maven项目,因为自己使用的开发环境是Idea+Gradle。对于Maven虽有耳闻,但是接触得比较少,刚好最近在学习一个maven项目,就把idea打开maven项目的步骤和其中遇到的一些问题的解决办法整理一下
算法与编程之美
2019/07/17
13.3K0
谈一谈|使用Idea打开Maven项目的正确姿势
图像文字识别(四):java调用tess4j识别图像文字
Tesseract-OCR支持中文识别,并且开源和提供全套的训练工具,是快速低成本开发的首选。前面记录过在java中调用tesseract-orc,该方法的原理是通过在java中调用cmd命令行,来执行tesseract,但是该方式需要下载软件,在电脑上安装环境,移植性不高。
全栈程序员站长
2022/06/29
5.4K0
图像文字识别(四):java调用tess4j识别图像文字
java tess4j 示例_java 使用tess4j实现OCR的最简单样例[通俗易懂]
网上很多教程没有介绍清楚tessdata的位置,以及怎么配置,并且对中文库的描述也存在问题,这里介绍一个最简单的样例。
全栈程序员站长
2022/08/27
8550
java tess4j 示例_java 使用tess4j实现OCR的最简单样例[通俗易懂]
IntelliJ IDEA Maven 项目的依赖分析
在这个标签页中,我们可以看到我们项目中导入的依赖有哪些冲突,并且这些冲突是怎么冲突的。
HoneyMoose
2023/10/12
2930
IntelliJ IDEA Maven 项目的依赖分析
Tess4J 简单使用入门[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132239.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/30
2.1K1
Tess4J 简单使用入门[通俗易懂]
maven的使用教程_maven使用教程
maven是什么 以 java源文件,框架配置文件,jsp,html,图片等资源为 原材料,去生产一个可以运行的项目的过程
全栈程序员站长
2022/09/21
1.4K0
maven的使用教程_maven使用教程
SpringBoot 项目的 Maven 多环境打包配置
1. 在pom.xml文件中配置 <profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <activatedProperties>dev</activatedProperties> </properties> </profile> <profile> <id>test</id> <prop
北漂的我
2020/10/26
1.8K0
SpringBoot 项目的 Maven 多环境打包配置
点击加载更多

相似问题

NoSuchFieldError:在Eclipse中使用Tess4J时的RESOURCE_PREFIX

12

玻璃鱼中的Tess4j ERROR:java.lang.NoSuchFieldError: RESOURCE_PREFIX

36

使用maven的项目的JBOSS依赖项

50

maven项目的依赖项

12

Maven-java.lang.NoSuchFieldError:使用Appium测试的实例

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档