我想在我的客户端服务器应用程序中使用 JSON。
我需要将客户端名称发送到服务器并订阅或取消订阅。
我是 Java 新手,对 JSON 很陌生。
我可以举个例子来说明如何做这样的事情吗?
如何在客户端使用 JSON 编码数据,通过 UDP 发送并在服务器端解码?
谢谢。
使用第三方库,如 XStream。这是非常容易使用的 API。
以mkyong 的 Jersey + Jackson 为例,或任何其他 Jersey + Jackson 的例子。
不过,您也需要熟悉 Java 应用程序服务器。
如果您不熟悉这些东西, Google 的 GSON非常易于使用且文档齐全。这将为您处理编码/解码。
我最近发布了一个可以帮助你的框架。请查看https://sites.google.com/site/javacornproject/corn-gate项目页面以获取详细信息。
下面是在 Gate 中定义和实现服务的示例代码:
@GateService(name="HelloWorldService",componentTarget="net.sf.corn.gate.sample.service.HelloWorldServiceImpl")
public interface IHelloWorldService {
public String sayHelloWorld();
}
public class HelloWorldServiceImpl {
public String sayHelloWorld(){
return "Hello World";
}
}
以下是从各种客户端访问 HelloWorldService 的几个示例:
1- JavaScript 客户端 AJAX 调用:
var jsonrq = new JsonRpcRequest("http://localhost:8888/jsonrpc");
var response = jsonrq.send("358", "HelloWorldService", "sayHelloWorld");
2-Java 远程客户端:
JsonRpcClient client= new JsonRpcClient(new URI("http://localhost/jsonrpc"));
JsonRpcResponse resp= client.callAService("HelloWorldService","sayHelloWorld");
3-REST 客户端(浏览器)
http://localhost:8888/jsonrpc/HelloWorldService/sayHelloWorld
我希望这有帮助。
也许 SpringMVC 会帮助你。请参阅此示例。