我尝试了所有我能想到的东西,而且老实说我的想法很少。请提供您可能提供的任何提示。
基本上我创建了一个字符串数组并且有一个二维数组,我试图在for循环中填充另一个数组。发生的事情是当程序点击它停止的第二个循环时。什么都没发生,我无法弄明白为什么!
我已经在几个变体中尝试过循环以及手动填充它,但每次都会发生同样的事情。
我需要什么:
array[][] = {[], [], []}
我得到了什么:nada
public void getEwonData(String data)
{
JsonParser parser = new JsonParser();
try
{
Object obj = parser.parse(data);
JsonObject jsonObj = (JsonObject)obj;
JsonArray arr = jsonObj.get("ewons").getAsJsonArray();
String[][] array = null;
for(int i = 0; i < arr.size(); i++)
{
JsonObject p = (JsonObject) arr.get(i);
JsonElement varName = p.get("name");
JsonElement varStatus = p.get("status");
JsonElement varDesc = p.get("description");
String[] varInfo = {varName.toString(), varStatus.toString(), varDesc.toString()};
//This is where it stops.
for(int x = 0; x <= varInfo.length - 1; x++)
{
array[i][x] = varInfo[x];
}
//I can't get here!
}
}
老实说,我没有想法,对于任何帮助都会非常感激。
答案 0 :(得分:0)
我假设您打算使用varInfo而不是ewonInfo
代码将是:
try {
Object obj = parser.parse(data);
JsonObject jsonObj = (JsonObject) obj;
JsonArray arr = jsonObj.get("ewons").getAsJsonArray();
String[][] array = new String[arr.size()][];
for (int i = 0; i < arr.size(); i++) {
JsonObject p = (JsonObject) arr.get(i);
JsonElement varName = p.get("name");
JsonElement varStatus = p.get("status");
JsonElement varDesc = p.get("description");
String[] varInfo = {varName.toString(), varStatus.toString(), varDesc.toString()};
array[i] = varInfo;
}
}
答案 1 :(得分:0)
问题已解决。正如一些人所指出的那样,我从未初始化我的阵列。这样做之后,现在一切都很完美。