2012-04-22 2 views
1

Мне нужно отправить запрос JSON, похожий на метод ajax jQuery.Отправить запрос JSON - аналоговый JQuery

Официальный documentation цитата по параметру данных говорит:

Если значение является массивом, JQuery упорядочивает несколько значений с помощью одной клавиши, основанные на значении традиционной установки

Так что я такая же ситуация - ключ, который сопоставляется с массивом «параметры»: [123123, {"category": "123"}]

Полный параметр данных выглядит как

$.ajax({ 
    url: "/api/", 
    data: {"parameters":[123123, {"category":"123"}], "anotherParameter":"anotherValue"} 

Не могли бы вы сказать, как добиться такой же функциональности в Java?

UPD:

Я сделал это, чтобы работать с использованием gson + коллекций запроса + пост.

Here're некоторые направляющие линии:

  • Отправка POST requests в JAVA.
  • Вы могли бы также рассмотреть вопрос о performance issues, связанные с различными видами JSon анализаторами

ответ

0

Что вы пробовали до сих пор, и что именно проблема? Разве вы не знаете, как создать соединение, что вы не знаете, как сериализовать ваши объекты или что вы не знаете, как заставить эту задачу выполняться асинхронно?

Я не думаю, что у Java есть какие-либо асинхронные методы HTTP-вызова, вам нужно использовать регулярное URLConnection и запускать его в отдельном потоке. Само соединение формируется следующим образом:

URL url = null; 
URLConnection urlConnection = null; 
String myURL = "http://example.com/ajax.php?foo=bar"; 
try { 
    url = new URL(myURL); 
    urlConnection = url.openConnection(); 
} catch (Exception e) { 
    e.printStackTrace(); 
    return; 
} 
InputStream responseStream = null; 
try { 
    responseStream = urlConnection.getInputStream(); 
} catch (IOException e) { 
    e.printStackTrace(); 
    return; 
} 

Тогда вы должны использовать что-то вроде AsyncTask class сделать это фоновое задание.

Для преобразования ваших объектов в JSON вы можете использовать GSON library.

+0

В принципе, мне нужно отправить ** {"parameters": [123123, {"category": "123"}], "anotherParameter": "anotherValue"} ** относительно jquery doc. примечание, упомянутое выше. –

+0

с точки зрения составления URL - как бы вы это сделали? Одним из параметров является массив, я полагаю, что это должен быть хотя бы запрос POST –