如果匹配条件,如何获取json数组名称

时间:2013-09-20 10:54:29

标签: java android json date

我首先在arratstring中存储JSON数组“date”,如果匹配则将我的日期与list匹配,然后在此行之后显示该日期的“title”名称if (Vacation_Date.contains(mydate)) {

我想只打印与textview中的日期标题名称匹配的值,我将帮助我

static ArrayList<Long> Vacation_ID = new ArrayList<Long>();
static ArrayList<String> Vacation_name = new ArrayList<String>();
static ArrayList<String> Vacation_Date = new ArrayList<String>();
         JSONObject json3 = new JSONObject(str2);
        status = json3.getString("status");
        if (status.equals("1")) {
        JSONArray school = json3.getJSONArray("data");
        for (int k = 0; k < school.length(); k++) {
            JSONObject jb = (JSONObject) school.getJSONObject(k);
            Vacation_ID.add((long) k);  
                    Vacation_Date.add(jb.getString("date"));
            }
        }

来自Vacation_Date中json文件的强数组“日期”。现在我将我的日期与Vacation_Date进行比较,并检查我的日期(如果存在于Vacation_Date中)并在textview中显示其标题名称。

if (Vacation_Date.contains(mydate))     

//现在我要做的是显示比赛日期的标题名称

textview.settext ("title name of match date")'
 }

JSON

{"status":1,
"data":
[
    {"id":"1",
    "title":"abc",
    "date":"2013-09-29"},

    {"id":"2",
    "title":"abc1",
    "date":"2013-09-25"},

    {"id":"3",
    "title":"abc",
    "date":"2013-10-05"},

    {"id":"4",
    "title":"abc1",
    "date":"2013-09-27"}
]
}

1 个答案:

答案 0 :(得分:2)

假设您希望在日期等于:2013-10-05时显示标题,那么创建一个方法,通过在jsonArray中使用日期属性的条件搜索标题来检索标题:

public String getTitleForDate(String searchDate) {
    for ( int i=0; i<array.length; i++) {
        JSONObject json = array.getJSONObject(i);
        String date = json.optString("date");
        if(date != null && searchDate.equals(date)) {
            return json.optString("title");
        }
    }
    return null;
}

然后在TextView中显示标题,如下所示:

if(Vacation_Date.contains(mydate)) {
String title = getTitleForDate(mydate); // i.e : in the case of mydate = "2013-10-05", it will return "abc" title
if(title != null)
    yourTextView.setText(title);
}