2

JSONに関する質問があります。

次のコードは、エラーが発生する場所です。結果の文字列が次のとおりであることを確認しました。

{"name":"test", "num1":1.0, "num2":2.0}

これがコードです。

byte[] raw = new byte[1536];

try{

   DatagramPacket packet = new DatagramPacket( raw, raw.length ); 
   mSocket.receive( packet ); //Multicast Socket declared in another part of the program
   String result = new String(packet.getData(), 0, packet.getLength());
   JSONObject jObj = new JSONObject(result);
   String name = jObj.getString("name");
}
catch (JSONException e){

}
catch(Exception eX){

}

ただし、次のエラーでJSONExceptionが発生します。

名前の値はありません。

JSON構文に何か問題がありますか?

ありがとう、

これは文字列が私に示すものです

これはjsonオブジェクトが私に示すものです

4

2 に答える 2

1

エンコーディングに問題があるようです。UTF-8を指定してみましたか

String response = new String(packet.getData(), 0, packet.getLength(), "UTF-8");

問題が何であるかわかりません。コードの残りの部分は正しく見えます。

于 2012-06-18T18:57:42.483 に答える
0
String result = "{\"name\":\"test\", \"num1\":1.0, \"num2\":2.0}";
JSONObject data = new JSONObject(result);
System.out.println(data.getString("name"));
System.out.println(data.get("num1"));
System.out.println(data.get("num2"));
于 2012-06-18T19:07:36.817 に答える