加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 返回带Jersey的String的JSON表示形式

发布时间:2020-12-14 16:32:36 所属栏目:Java 来源:网络整理
导读:我即将设置一个带有泽西的REST-Webservice. 目前我对 JSON中正确表示字符串或其他值类型有些疑惑. 这是两个片段: @GET@Path("user")@Produces( MediaType.APPLICATION_JSON)public User user() { return new User("reini","admin");} 在浏览器中调用此方法
我即将设置一个带有泽西的REST-Webservice.
目前我对 JSON中正确表示字符串或其他值类型有些疑惑.
这是两个片段:
@GET
@Path("user")
@Produces( MediaType.APPLICATION_JSON)
public User user() {
    return new User("reini","admin");
}

在浏览器中调用此方法将显示一个“好的”JSON字符串:

{"name":"reini","role":"admin"}

我的第二个方法如下所示:

@GET
@Path("hello/{name}")
@Produces( MediaType.APPLICATION_JSON)
public String hello(@PathParam("name") String name) {
    return "Hello " + name + ",it is " + new Date();
}

在Browswer中调用该方法将显示纯粹的String,而不需要任何JSON-Stuff(Curly Braces等):

Hello firefox,it is Tue Sep 18 13:52:57 CEST 2012

我想用dojo工具包使用这个服务.问题是,一旦我设置[handleAs:“json”] – 标志,我得到了第二种方法.它给我一个错误“SyntaxError:Unexpected token H”,其中“H”是返回的字符串的第一个字母.

那么:Strings和其他值类型的正确的json表示是什么,以及我为我的方法生成的什么注释?

解决方法

你应该定义一个DTO并把你的String放在那里.所以你将使用一个String作为属性来生成一个HelloResp类.在你的方法中填充该属性并返回.

你可以查看这个Tutorial.另一个tutorial.

Firefox没有显示错误,因为它不处理您的响应.显示服务返回的任何内容.然而,该工具包开始处理响应作为JSON,但没有有效的JSON(JSON以{开头))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读