2014-09-06 59 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