获取从JSON对象

问题描述:

二进制数据我收到从RESTful服务该响应并且将其保存到一个JSONObject:上述获取从JSON对象

{ 
    "GetCampaignsInProgressListResult": [ 
     108, 
     162, 
     171, 
     103, 
     185, 
     147, 
     218, 
     16, 
     67, 
     226, 
     44, 
     // etc etc 
    ] 
} 

的数据代表一个二进制数组。我想用下面的代码来阅读:

String rawResponse = client.getResponse(); 
JSONArray entries = null; 
JSONObject o = new JSONObject(rawResponse); 
entries = new JSONArray(o.getString("GetCampaignsInProgressListResult")); 

我想访问的二进制数据,并将其保存到一个字节数组,但因为它不具有属性的名字我不能使用:

for (int i = 0; i < entriesLength; i++) { 
    JSONObject entry = entries.getJSONObject(i); 
    Object something = entry.getString("SomeTag"); 
} 

如何访问二进制数组?

试试这个:

String rawResponse = client.getResponse(); 
    JSONArray entries = null; 
    JSONObject o = new JSONObject(rawResponse); 
    entries = new JSONArray(o.getString("GetCampaignsInProgressListResult")); 
    byte[] bArr = new byte[entries.length()]; 
    for (int i = 0; i < entries.length(); i++) { 
     bArr[i] = (byte) entries.getInt(i); 
    } 
+0

完美。谢谢。 – 2013-04-03 19:12:44

+0

我认为它抛出'JSONException'说'JSONArray [0]不是一个数字.'在下面一行:'bArr [i] =(byte)entries.getInt(i);' – Yubaraj 2014-10-30 05:04:18