我在下面的表单中有JSONArray,需要从中获取每个单独的数字。
{
"layout": [
[
"12",
"21",
"31"
],
[
"empty",
"22",
"32"
],
[
"13",
"23",
"33"
]
]
}
例如在[12, 21, 31]
数组中的第一个数组layout
元素中我需要单独获得12个,21个,31个
目前我正在使用此代码
private void doImageLogic(String ParsedString, String metadata) { // sorts through images json and calls imageDownloader to get the bitmaps - e.g. retrieve apple.jpg
Log.d("STRING_CHECK", "testing");
try {
JSONObject j = new JSONObject(ParsedString);
JSONArray pictureFiles = j.getJSONArray("layout");
for (int i = 0; i < pictureFiles.length(); i++ ){
mJpegNames.add("http://www.simongrey.net/08027/slidingPuzzleAcw/images/"+ metadata+"/"+ pictureFiles.getJSONArray(i));
}
ImageDownload imageDownloader = new ImageDownload(mPuzzleItem, mContext);
imageDownloader.execute(mJpegNames);
Log.d("Test", "test");
} catch (JSONException e) {
e.printStackTrace();
}
}
但这会返回JSONarray中的3个数组,我无法弄清楚如何访问嵌套的数组。
答案 0 :(得分:0)
您需要嵌套一个迭代内部数组的for
循环。例如:
for (int i = 0; i < pictureFiles.length(); i++ ) {
for (int k = 0; k < pictureFiles.getJSONArray(i).length(); k++) {
mJpegNames.add("http://www.simongrey.net/08027/" +
"slidingPuzzleAcw/images/metadata/" +
pictureFiles.getJSONArray(i).getString(k));
}
}
答案 1 :(得分:0)
试试这个
strcpy(target_msg1, msg1);
insert_substring(target_msg1,username,17);
printf("%s\n",target_msg1);