gpt4 book ai didi

java - Java 中的 JSON JAX-RS

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:53:34 27 4
gpt4 key购买 nike

我将 Jersey 用于 Java 中的 RESTful Web 服务。我正在从 PHP 客户端使用它们。我让它与 JSON 一起正常工作,如下所示:

PHP:(使用 httpful phar)

 $uri="http://localhost:8080/YYYYY/rest/common/json";
$r = \Httpful\Request::post($uri)
->body({"name":"MyName"})->send();
return $r;

Java RESTful WS:

@POST
@Path(value="json")
@Produces(MediaType.TEXT_HTML)
@Consumes(MediaType.APPLICATION_JSON)
public String jsonTest(final JaxData data)
{
System.out.println(data.toString());
return "this is the name: "+data.name;
}

Java 绑定(bind)类:

@XmlRootElement
public class JaxData {
@XmlElement public String name;
}

现在我要做的是发送以下 JSON 结构:

{
"title":"MyTitle",
"names":[
{
"name":"nameOne"
},
{
"name":"nameTwo"
}
],
"city":"MyCity",
"country": "MyCountry"
}

正如您所看到的,除了 Java 的基本类型之外,我还想在对象内部发送对象。我怎样才能从 Java 端做到这一点?谢谢!

最佳答案

定义一个代表您要发送的数据的对象。您可以使对象任意深(JSON 中的每个级别都可以映射到一个子对象)。

这是一个让您入门的示例:

public class MyBean implements Serializable {
private String title;
private List<JaxData> names;
private String city;
private String country;

// Constructors, getters/setters
}

@POST
@Path(value="json")
@Produces(MediaType.TEXT_HTML)
@Consumes(MediaType.APPLICATION_JSON)
public String jsonTest(final MyBean data) {
return data.toString();
}

关于java - Java 中的 JSON JAX-RS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14992172/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com