JSON解析不适用于JSONObject

时间:2012-06-18 18:20:43

标签: java android json sockets

我有一个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语法有问题吗?

谢谢,

This is what the string shows me

This is what the json object shows me

2 个答案:

答案 0 :(得分:1)

看起来编码存在问题。您是否尝试过指定UTF-8

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

我不确定问题是什么。其余代码看起来是正确的。

答案 1 :(得分: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"));