我正在与朋友一起编程项目。我们将其分为两部分,我负责客户端(简单的窗口应用程序),他制作了服务器。我应该借助websocket将JSON对象发送到他的服务器(他给了我信息,我应该发送http://pastebin.com/dmYBtN25的信息)。我知道如何创建json对象,但是我的问题是如何将websocket lib与json结合使用(当前我正在使用weberknecht和json-lib)。下面是一个示例,我发现它可能是我的客户的基础。对于提示和帮助,我将不胜感激,或者仅举一个简单的示例来说明如何实现。
import java.net.URI;
import java.net.URISyntaxException;
import de.roderick.weberknecht.WebSocket;
import de.roderick.weberknecht.WebSocketConnection;
import de.roderick.weberknecht.WebSocketEventHandler;
import de.roderick.weberknecht.WebSocketException;
import de.roderick.weberknecht.WebSocketMessage;
public class App {
public static void main(String[] args) {
try {
URI url = new URI("ws://127.0.0.1/test");
WebSocket websocket = new WebSocketConnection(url);
// Register Event Handlers
websocket.setEventHandler(new WebSocketEventHandler() {
public void onOpen() {
System.out.println("--open");
}
public void onMessage(WebSocketMessage message) {
System.out.println("--received message: "
+ message.getText());
}
public void onClose() {
System.out.println("--close");
}
});
// Establish WebSocket Connection
websocket.connect();
// Send UTF-8 Text
websocket.send("hello world");
// Close WebSocket Connection
websocket.close();
} catch (WebSocketException wse) {
wse.printStackTrace();
} catch (URISyntaxException use) {
use.printStackTrace();
}
}
}
java大神给出的解决方案
你有没有尝试过:
websocket.send("{\"firstName\": \"John\"}" /* stick your JSON here */);
如果您知道如何创建应该执行的JSON。
如何使用Google gson创建JSON的示例:
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
/**
* @author jadlr
*/
public class UserConnected {
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
private final int event;
private final String cookie;
private final From from;
private final Channel channel;
public UserConnected(int event, String cookie, From from, Channel channel) {
this.from = from;
this.cookie = cookie;
this.event = event;
this.channel = channel;
}
public int getEvent() {
return event;
}
public String getCookie() {
return cookie;
}
public From getFrom() {
return from;
}
public String toJson() {
return GSON.toJson(this, UserConnected.class);
}
public static class From {
private final int id;
private final String userId;
public From(int id, String userId) {
this.id = id;
this.userId = userId;
}
public int getId() {
return id;
}
public String getUserId() {
return userId;
}
}
public static class Channel {
private final int id;
private final String name;
public Channel(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
}
public static void main(String[] args) {
UserConnected userConnected = new UserConnected(0, "cookie123", new From(1, "user"), new Channel(1, "channel"));
System.out.println(userConnected.toJson());
}
}
java:继承 - java有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…
Java-如何将此字符串转换为日期? - java我从服务器收到此消息,我不明白T和Z的含义,2012-08-24T09:59:59Z将此字符串转换为Date对象的正确SimpleDateFormat模式是什么? java大神给出的解决方案 这是ISO 8601标准。您可以使用SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM…
当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…
使用Jackson将JSON字符串或对象反序列化为String字段 - java我正在使用Jackson 2库,并且尝试读取JSON响应,如下所示:{ "value":"Hello" } 当value为空时,JSON响应如下所示:{ "value":{} } 我的模型POJO类看起来像这样public class Hello { private String value; pu…
如何将Jackson的TypeReference与泛型一起使用? - java对于json映射,我使用以下方法:public static <T> T mapJsonToObject(String json, T dtoClass) throws Exception { ObjectMapper mapper = new ObjectMapper(); return mapper.readValue(json, new T…