我有一个json响应,我试图从失败中读取值。 以下是回复
{
"ID": 89,
"Ans": ["24", "12", "1", "18" ],
"Que": "How Many hours are in a day?"
}
我可以使用以下代码成功读取值ID和Que,但不能使用Ans数组。另外我如何访问Ans数组中的各个值?感谢
JsonValue json = new JsonReader().parse(response);
String _id = json.getString("ID");
String que = json.getString("Que");
//not working
//String ans = json.getString("Ans");
//Json json1 = new Json();
//ArrayList<JsonValue> list = json1.fromJson(app.loadingScreen,ans);
答案 0 :(得分:1)
我通过使用
进行管理 String[] answers = ans.asStringArray();
Gdx.app.log("App", "? : " + answers[0]);
答案 1 :(得分:0)
你能以这种方式取得成功吗?
ArrayList<String> ansList=new ArrayList();
JSONArray array= mainObject.optJSONArray("Ans");
for(int i=0; i <array.length();i++)
{
ansList.add(array.get(i));
}
答案 2 :(得分:0)
这应该做:
JsonValue json = new JsonReader().parse(file);
JsonValue child = json.child;
int id = child.asInt());
child = child.next;
int[] ans = child.asIntArray();
child = child.next;
String que = child.asString();
虽然不优雅,但您也可以尝试 JsonIterator 。
<强> UPD:强>
JsonValue json = new JsonReader().parse(file);
JsonValue.JsonIterator it = json.iterator();
int id = it.next().asInt();
int[] ans = it.next().asIntArray();
String que = it.next().asString();