2014-09-06 38 views
2

我需要對Java中的數據存儲做一些查詢,但我似乎無法獲得參數語法。我想是這樣的:Java中的其餘查詢參數

String params = "?Active=1"; 
String urlString = "https://api.parse.com/1/classes/Cars" + params; 

或按文件here

String params = "where={Active:1}"; 

但這兩種方式產生異常。

如果我不這樣做的查詢,只是試圖讓所有與此請求字符串對象:

String urlString = "https://api.parse.com/1/classes/Cars" 

一切工作正常。所以問題肯定是params序列。那麼有沒有辦法在Java中執行Prase.com其餘查詢?

編輯:添加異常字符串響應從第一發表評論的請求:

java.io.IOException: Server returned HTTP response code: 400 for URL: https://api.parse.com/1/classes/Cars?where={Active:1} 
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1838) 
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439) 
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) 

我還要指出的是,當我使用常規http語法,如

params = "?Dealer=asdf"; 

的查詢返回所有的對象,就好像參數不存在一樣。

+0

,請複製粘貼例外情況,也可能是發送查詢的代碼。 – 2014-09-06 15:20:56

+0

@ Jean-FrançoisSavard我將它添加到問題中。 – Eddy 2014-09-06 17:30:49

+0

您是否嘗試過手動運行查詢?也許你錯過了他們的部分API – Dave 2014-09-06 17:33:38

回答

2

下面是對PARAMS串幾個實際的例子:

String params = "where={\"objectId\":\"ldl49l3kd98\"}"; 

String params = "where={\"CompanyName\":\"BMW\", \"Price\":{\"$gte\":29000,\"$lte\":49000}}"; 

如果你需要非英文字符,像我這樣做,編碼帕拉姆字符串是這樣的:

params = URLEncoder.encode(params, "UTF-8"); 
+0

感謝:) – khakiout 2014-11-20 07:55:28

+0

我們在哪裏添加參數到請求中?我們會通過request.params訪問雲代碼中的那些參數嗎? – 2015-07-02 15:15:52

+0

@ JMStudios.jrichardson在應用程序代碼中添加這些參數。然後通過調用request.params.ParamName讓他們進入雲端。 – Eddy 2015-07-03 12:07:50