java - 错误: A JSONObject text must begin with '{' at 1688 [character 1689 line 1]

标签 java server udp client listener

我有udpclient类,我尝试获取jsonObject来监听udpserver,我不知道这段代码是否正确,我的udpclient类是这样的

public class UDPClient {

public static void main(String args[]) throws IOException {


  URL url = new URL("https://www.instagram.com/ihanan95/?__a=1");
  JSONTokener tokener = new JSONTokener(url.openStream());


      try {
          DatagramSocket socket = new DatagramSocket(8888); // source socket
          for (int i = 0; i < 100000; i++) {
              int port = 8080; // destination port
              byte[] buf = new byte[2024];
              JSONObject json = new JSONObject(tokener);
              json.put("count", i);
              InetAddress address = InetAddress.getByName("localhost");
              System.out.println(json.toString());
              buf = json.toString().getBytes("UTF8");
              DatagramPacket packet = new DatagramPacket(buf, buf.length, address, port);
              socket.send(packet);
          }
          socket.close();
      } catch (Exception ex) {
          ex.printStackTrace();
      }
  }
}

当我尝试运行此代码时,我收到这样的错误

org.json.JSONException: A JSONObject text must begin with '{' at 1688 
[character 1689 line 1]
at org.json.JSONTokener.syntaxError(JSONTokener.java:505)
at org.json.JSONObject.<init>(JSONObject.java:215)
at UDPClient.main(UDPClient.java:29)

最佳答案

正如错误消息中所示,您获得的 JSON 字符串不是以“{”开头。这意味着它不是一个正确的 JSON 对象。

我将记录 JSON 字符串(在您的情况下为标记器)以查看您获得的内容,并了解为什么它不是有效的 Json 对象。

关于java - 错误: A JSONObject text must begin with '{' at 1688 [character 1689 line 1],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56645730/

相关文章:

c - C语言的套接字编程,服务器代码出错

python - python中的udp速率限制?

c# - 阻塞函数ReceiveFrom()

java - WHERE 子句问题

java - 为什么使用静态记录器比不使用它花费更多时间

java - JDialog 模态行为

java - 在 redir 之后只接收少量的 UDP 数据包。 (安卓模拟器)

Java代码找不到nlsxbe.dll的依赖库

server - 本地网络上的树莓派访问服务器

python - 让python脚本在http简单服务器中运行