Apache CXF生成数字而不是字符串 [英] Apache CXF generates Number instead of String

查看:98
本文介绍了Apache CXF生成数字而不是字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果字符串看起来像数字,例如111 CXF不会以字符串形式返回它,而是以数字形式返回.

If a string looks like a number, eg. 111 CXF doesn't return it as string, but as number.

<bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
    <property name="serializeAsArray" value="true" />
    <property name="arrayKeys" ref="jsonKeys" />
</bean>

可以看到,我使用JSON提供程序. 如何强制它提供正确的JSON字符串?

As one can see, I use the JSON provider. How can I force it, to deliver correct JSON strings?

{object:{"name":"111"}} instead of {object:{"name":111}}

预先感谢...

推荐答案

您可以将SimpleConverter添加到JSONProvider中,这样它就不会将字符串转换为数字.默认情况下,它使用DefaultConverter.但是请确保将相关bean作为该字段的类型字符串.

You can add SimpleConverter to your JSONProvider so that it will not convert strings to numbers. By Default it uses DefaultConverter. But make sure that relevant bean as type string for the field.

<bean id="simpleConverter" class="org.codehaus.jettison.mapped.SimpleConverter"/>

<bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.JSONProvider">
    <property name="typeConverter" ref="simpleConverter"/>
</bean>

您可以在Jettison中找到有关此缺陷的更多信息 http://jira.codehaus.org/browse/JETTISON-61 http://jira.codehaus.org/browse/JETTISON-36

You can find more information about this defect in Jettison http://jira.codehaus.org/browse/JETTISON-61 http://jira.codehaus.org/browse/JETTISON-36

这篇关于Apache CXF生成数字而不是字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆