比如我這樣的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
的方法。
比如我這樣的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
的方法。
我已經找到了soluton,如果你需要提出這樣的要求,而無需使用JSON,它應該是這樣的:
List<NameValuePair> pairs = new ArrayList<NameValuePair>();
pairs.add(new BasicNameValuePair("make_event[event_id]", "My new Event"));
...等等每對
然後只是
post.setEntity(new UrlEncodedFormEntity(pairs));
而所有這些代碼將生成標準的POST請求。
您應該只能使用嵌套的JSONArray
s;一旦你創建了複雜的數組,只需使用toString()
並將結果插入到NameValuePair
。
不行,它不起作用。當我嘗試通過在BasicNameValuePair中將JSONArray轉換爲字符串時,服務認爲它是一對 –
然後,您所要做的就是創建一個'BasicNameValuePair'數組,其中某些對的值將被轉換爲'JSONObject'一個字符串。 –
或者你可以編寫一個函數,通過一個'JSONArray'循環並創建一個'BasicNameValuePair []'數組,它的子值是JSON值的字符串表示形式。 –