我收到以下 JSON,并且能够解析描述和日期。我一直在尝试解析时间,但我尝试的一切都给了我糟糕的输出。
时间对象应该是 5:30,但我不知道我是否能够解析该格式。我以为是public String format3339 (boolean allDay)
我发布了 JSON 输入、我的 JSON 解析和输出。
输入
{"object":[{"description":"blah blah blah","date":"2012-12-11","time":"2000-01-01T05:30:00Z"}]}
主要是我担心"time":"2000-01-01T05:30:00Z"
解析
JSONArray arr = null;
list = new ArrayList<HashMap<String, String>>();
}
for (int i = 0; i < arr.length(); i++) {
JSONObject d = arr.getJSONObject(i);
Time time = new Time();
String etime = d.getString(TIME_TAG);
String description = d.getString(DESCRIPTION_TAG);
String date = d.getString(DATE_TAG);
//************************************************************************
//********I suspect that i might be converting the time object incorrectly but whatever
//********i put here either does not work or gives me bad output.
Boolean mtime = time.parse3339(etime);
if (mtime == true) {
etime = time.toString();
}
//************************************************************************
HashMap<String, String> map = new HashMap<String, String>();
map.put(DATE_TAG, date);
map.put(DESCRIPTION_TAG, description);
map.put(TIME_TAG, etime);
list.add(map);
OutPut- 我不明白这个输出我认为输入是 3339 格式,但输出很难处理。我想我可以制作一个解析器来从给定的字符串中解析出 530,但我认为我的输出将是来自 toString() 操作的 YYYYMMDDTHHMMSS 格式。
20000101T053000UTC(0,0,0,-1,946704600)
编辑::这是我拼凑起来的东西,可以毫不费力地得到我想要的东西。它现在有效。
JSONArray arr = null;
list = new ArrayList<HashMap<String, String>>();
}
for (int i = 0; i < arr.length(); i++) {
JSONObject d = arr.getJSONObject(i);
String etime = d.getString(TIME_TAG);
String description = d.getString(DESCRIPTION_TAG);
String date = d.getString(DATE_TAG);
if (eTime.charAt(11) == '0')
eTime = eTime.substring(12, 16);
else
eTime = eTime.substring(11, 16);
HashMap<String, String> map = new HashMap<String, String>();
map.put(DATE_TAG, date);
map.put(DESCRIPTION_TAG, description);
map.put(TIME_TAG, etime);
list.add(map);