Как я могу разобрать дату SQL в JSON и, наконец, в java.util.Date? - PullRequest
0 голосов
/ 11 декабря 2010

У меня есть удаленная база данных sql, и я связываю его по php с JSON.

Я могу получить строковые данные и данные int, но теперь у меня проблема ... У меня есть поле datetime в моей базе данных SQL, и я не знаю, как получить его с помощью JSON в java.util.Date

это код, который я пробовал, но он не может правильно получить дату, это дает мне исключение (java.lang.ClassCastException: java.lang.String)

код:

JSONArray jArray = new JSONArray(result);


                for(int i=0;i<jArray.length();i++)
                {
                        JSONObject json_data = jArray.getJSONObject(i);                         
                        positions.add(new Position(json_data.getString("latitude"), json_data.getString("longitude"), (Date)json_data.get("timestamp")));
                 }

Ответы [ 2 ]

2 голосов
/ 11 декабря 2010

Вам нужно будет извлечь строку, отправленную в данных JSON, и проанализировать эту строку с помощью чего-то вроде SimpleDateFormat.

1 голос
/ 11 декабря 2010

В своих проектах я использовал два разных решения.

  1. Сохранение даты не как даты, а как долго (милисек с 1.1.1980).В Java вы можете получить это с помощью date.getTime ().Там также должен быть метод в PHP.Объект Date в Java просто передает длинное значение в конструктор (date = new Date (long_value)).При использовании этого метода могут возникнуть проблемы, когда даты поступают из разных часовых поясов.

  2. Запишите дату в виде строки даты в формате JSON.Как вы кодируете дату, зависит от вас.Краткий пример приведен ниже.см. [1] для получения дополнительной информации.

Чтобы получить дату, вам необходим SimpleDateFormater.

DateFormat df = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");
try
{
  Date today = df.parse("2001.07.04 AD at 12:08:56 PDT");            
  System.out.println("Today = " + df.format(today));
}
catch (ParseException e)
{
  e.printStackTrace();
}

[1] http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...