2013-01-05 1 views
0

예를 들어 나는 이러한 API와 같은 :
array('make_event' = array('event_id' = "event id", 'start_date' = "some date", 'end_date' = "some else date"))Java Android : API에 복잡한 POST 요청을하는 방법은 무엇인가요?

객체에 대한 NameValuePair의 생성자가 없기 때문에, 나는의 NameValuePair의 목록을 통해 그것을 만들려고했지만, 나는 그것을 할 수 없다.

주된 문제는 "배열 배열"을 setEntity 메서드에 전달하는 것입니다.

답변

1

:

각 쌍 등

List<NameValuePair> pairs = new ArrayList<NameValuePair>(); 
pairs.add(new BasicNameValuePair("make_event[event_id]", "My new Event")); 

를 ... 그리고 단지

post.setEntity(new UrlEncodedFormEntity(pairs)); 

그리고이 모든 코드는 표준 POST 요청을 생성합니다.

0

중첩 된 JSONArray을 사용할 수 있어야합니다. 복잡한 배열을 만들었 으면 간단히 toString()을 사용하고 결과를 NameValuePair에 삽입하십시오.

난 당신이 JSON을 사용하지 않고 이러한 요청을해야하는 경우, 그것은 다음과 같이 보일 것이다는 soluton을 발견했습니다
+0

아니요, 작동하지 않습니다. BasicNameValuePair에서 문자열로 변환 된 JSONArray를 전달하려고하면 서비스가 한 쌍이라고 생각합니다. –

+0

그러면 BasicNameValuePair's 배열을 만들고 그 중 일부의 값은 다음과 같이 변환 된'JSONObject'가됩니다. 문자열. –

+0

또는'JSONArray'를 반복하는 함수를 작성하고 자식 값이 JSON 값의 문자열 표현 인 BasicNameValuePair []'배열을 생성 할 수 있습니다. –

관련 문제