ОШИБКА: текст JSONObject должен начинаться с '{' на 1688 [символ 1689, строка 1] - PullRequest
1 голос
/ 18 июня 2019

У меня есть класс 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)

1 Ответ

0 голосов
/ 18 июня 2019

Как указано в сообщении об ошибке, полученная строка JSON не начинается с "{". Это означает, что это не правильный объект JSON.

Я бы зарегистрировал строку JSON (в вашем случае, токен), чтобы увидеть, что вы получаете, и понять, почему это не допустимый объект Json.

...