获取从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);
}
完美。谢谢。 – 2013-04-03 19:12:44
我认为它抛出'JSONException'说'JSONArray [0]不是一个数字.'在下面一行:'bArr [i] =(byte)entries.getInt(i);' – Yubaraj 2014-10-30 05:04:18