问题标签 [jettison]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4098 浏览

java - 使用 JAVA 将 QueryString 转换为 Json

我想使用 java 将"id=1&location=india"查询字符串转换为{"id":"1","location":"india"}json 格式。

我正在使用弹簧版本 4.0.3。

0 投票
1 回答
882 浏览

json - 无法使用 JSON 通过 CXF

我正在尝试使用 JSON 作为输入和输出来构建 CXF RESTFul 服务。我正在使用 JAXRSServerFactoryBean 来启动我的服务。当我尝试从客户端程序访问 URL 时,出现以下异常。我的程序非常简单,并在底部附加了相同的内容。

请帮忙。

RestFulServiceStarter

配置文件服务

ProfileServiceImpl

个人资料请求

0 投票
0 回答
255 浏览

wildfly - WF9 上的 RESTEasy 与抛弃 + 大摇大摆

我们将 RESTEasy 与 jettison 提供程序一起使用(不是 jackson,因为它不支持我们非常喜欢的 Atom 链接)并尝试使用 Swagger 创建有效的 API 文档。但是,jettison 使用“xmlRootElement”生成 json,而 swagger 假定“正常”,类似于杰克逊的 json。因此,生成的文档无效,并且使用 swagger 客户端生成器生成的客户端不起作用。例子:

Java类:

Swagger 生成的模型:

来自服务器的响应

有什么办法可以让swagger和jettison配合?我们真的不想将提供者更改为杰克逊和丢失的链接。

编辑

由于我们没有找到任何集成上述技术的解决方案,我们决定从 jettison 迁移到 jackson,并自己实现(部分根据我们的需要定制)与 jackson 兼容的 atom 链接的 RESTEasy 规范。我们建议这样的解决方案,因为它很容易,其他抛弃问题会自动解决。

0 投票
0 回答
1460 浏览

json - 当元素具有空字符串值时,Jettison 无法将 json 字符串转换为 json 对象

我的应用程序使用骆驼休息 (2.15.2) 来捕获 POST json 字符串,然后使用 jettison 转换为 JSON 对象。它在正常请求下工作正常。

当我调试时,变量body = {request={lname=aaa, fname=bb}}. 第 2 行返回一个 JSONObject。到目前为止,一切都很好

如果我们尝试另一个请求:

然后body = {request={lname= , fname=aa}} line2 返回异常。

你能帮我解决这个问题吗:将包含具有空值字符串的元素的 json 字符串转换为 json 对象。

在我的场景中,上述请求是可以接受的。

错误:

org.codehaus.jettison.json.JSONException:缺少值。在 org.codehaus.jettison.json.JSONTokener.syntaxError(JSONTokener.java:463) 的 {request={lname= , fname=aa}} 的字符 15 处 org.codehaus.jettison.json.JSONTokener.nextValue(JSONTokener. java:356) 在 org.codehaus.jettison.json.JSONObject.(JSONObject.java:230) 在 org.codehaus.jettison.json.JSONTokener.newJSONObject(JSONTokener.java:412) 在 org.codehaus.jettison.json。 JSONTokener.nextValue(JSONTokener.java:327) 在 org.codehaus.jettison.json.JSONObject.(JSONObject.java:230) 在 org.codehaus.jettison.json.JSONObject.(JSONObject.java:311)

0 投票
1 回答
410 浏览

java - spring jar 与 Axis2 jar 冲突

在 spring-ws jar 可用的地方出现错误,但仍然出现错误。(Spring 4.1.0,Axis 1.6.2)

0 投票
1 回答
1201 浏览

java - 解析 JSON 时忽略换行符

Jettison在 Java 中使用来解析JSON消息,但在某些情况下JSON,值中包含换行符,因此会出现异常。

在 Java 中解析错误消息时,有什么方法可以忽略值中的换行符?

谢谢。

0 投票
1 回答
186 浏览

java - 比较 2 个 JSONObjects 而不考虑值类型

我正在使用 Jettison 从一些字符串中制作 JSONObjects

我想获取一个 JSONObject (j1) 中所有键的列表,并将这些值与附加到另一个 JSONObject (j2) 中的键的值进行比较。

我正在尝试创建一些我不关心值类型的东西,因为这些值是字符串和整数,谁知道还有什么。

所以我正在做类似的事情:

我想做类似的事情

我可以将 o1 和 o2 转换成什么,以便比较它们的值?JSON对象?如果值是 JSONArrays 怎么办?

我已经尝试过 JSONObject 并且我得到了一个

当我有:

我有什么选择?

0 投票
1 回答
854 浏览

java - 比较 org.codehaus.jettison.json.JSONArray 不考虑顺序

我有 2 个充满整数的 JSONArray。

我想在不考虑顺序的情况下比较它们以获得相同的内容。

所以:

[1, 2] == [1, 2] 真 [1, 2] == [2, 1] 真

JSONArray 有

但它为 [1, 2] == [2, 1] 返回 FALSE

所以,我推出了自己的:

基本上,我检查两个 JSONArrays 的长度是否相同。如果是,那么我确保 outputJsonArray 中的每个元素都在 inputJsonArray 中,反之亦然。执行此操作的主力方法是:

这让我觉得有很多代码。有谁知道是否有更简单的方法可以做到这一点?

0 投票
1 回答
458 浏览

json - 泽西岛 1 到 2 迁移,使用 org.codehaus.jettison 包(未找到媒体类型 = 应用程序/json 的 MessageBodyWriter)

将 OSGi/Spring Web 应用程序更新到 Jersey 2。目前正在使用 Jersey 2 编译和安装,但是在访问我们的资源时出现此错误:

找不到媒体类型 = 应用程序/json、类型 = 类 org.codehaus.jettison.json.JSONObject、通用类型 = 类 org.codehaus.jettison.json.JSONObject 的 MessageBodyWriter。

org.codehaus.jettison.json 作为球衣的“媒体提供者”的当前配置详细信息。

• 添加了对 jersey-media-json-jettison 的依赖

• 我在 web.xml 中使用 glassfish 特定的 init-param 指定 org.codehaus 包:

• 在我们的 webapp 捆绑 bnd 文件中添加了包:

这表明它已成功将其导入 OSGi 控制台:

控制台还显示了 jersey-media-json-jettison 包使用的包:

有什么想法在这里配置 json 提供程序吗?

使用org.codehaus.jettison包是否需要编程配置才能作为 json 提供程序工作?

我在问正确的问题吗?

谢谢你,汤姆

0 投票
0 回答
337 浏览

json - 使用 Johnzon JSON 序列化的无限循环

我正在设计一个带有 REST Web 服务的非常简单的 Web 应用程序,该服务利用 JPA 与 PostgreSQL 数据库进行交互并在 TomEE 中运行。我的 JPA 实体具有双向映射,我希望我的 REST 服务以 XML 和 JSON 的形式使用/生成这些 JPA 实体。

XML 序列化工作正常,因为我在每个双向映射的一侧使用 @XmlTransient 注释,以防止序列化期间出现无限循环。

不幸的是,在 JSON 序列化期间,我进入了一个无限循环并生成了 StackOverflowError。我假设由于 TomEE 使用 Apache CXF,它也会使用 Jettison,我认为 Jettison 尊重 @XmlTransient 注释。

但是,看起来 TomEE 实际上是在使用 Johnzon,而且这似乎不尊重 @XmlTransient 注释。我如何告诉 Johnzon 忽略某些字段?我可以以某种方式使用 JSON-B 规范中的 @JsonbTransient 注释吗?我不想链接到 Johnzon,但我尝试这样做是为了使用 @JohnzonIgnore 注释而没有效果。我最好强迫 TomEE 使用 Jettison 吗?有什么建议么?

您可以自己重现此错误,因为 TomEE 在其网站上发布的 rest-example 具有相同的问题,http ://tomee.apache.org/examples-trunk/rest-example/README.html 。