-2
这里是我的代码:解析JSON从嵌套结果的Android
try{
JSONObject jsonObjitem = new JSONObject(jsonString);
JSONArray phrasemaster = jsonObjitem.getJSONArray("phrases");
for(int i = 0; i<phrasemaster.length();i++){
JSONObject scan = phrasemaster.getJSONObject(i);
int id = scan.getInt("id");
if (id == current){
String question = scan.getString("question");
idoutcome1 = scan.getString("idoutcome1");
idoutcome2 = scan.getString("idoutcome2");
idoutcome3 = scan.getString("idoutcome3");
}
}
} catch (JSONException e) {
e.printStackTrace();
}
上推出,用户得到的随机数,当他按下按钮,他被转移到这个号码被用来从拉项的另一片段JSON,这个数字作为id。 每个项目都有另外三个ID。所以当我用这段代码拉我的物品时,我也从这个json物品中拉出3个id。现在我想要从这些ID输出问题字符串。
{
"phrases": [
{
"id": 1,
"question": "first item",
"idoutcome1": 2,
"idoutcome2": 3,
"idoutcome3": 4
},
{
"id": 2,
"nameofoption": "item 2",
"question": "some question 2",
"idoutcome1": 5,
"idoutcome2": 6,
"idoutcome3": 7
},
{
"id": 3,
"nameofoption": "item 3",
"question": "some question 3",
"idoutcome1": 8,
"idoutcome2": 9,
"idoutcome3": 10
}
]
}
问题是我不明白我如何能够接触到这些值。
编辑:我想要做的插图。 解析时,我将idoutcome1,2,3的值输出到我的按钮上。 但是,我想输出写在nameofoption字段中的值而不是这些数字。就像例子,而不是2它应该显示“左”。
问题是,我有这个尝试,搜索它在前一页得到的ID,并输出具有相应ID的项目。我怎样才能在这个尝试的过程中实现它,它会更深入,并取决于这个JSON项目的idoutcome的显示来自nameofoption字段的值?
问题不清楚... json解析代码与其他一切相关的地方在哪里?为什么不能调用一个方法将数据传递到需要的地方? –
你正在抛出你不能使用它的价值问题吗? (因为String问题是局部变量) – jagapathi
@ cricket_007请参阅编辑 –