我从客户端发送了以下查询字符串参数
{"take":75,"skip":0,"page":1,"pageSize":75,"filter":{"logic":"and","filters":
[{"field":"prodCode","operator":"eq","value":"Z20"}]}}:
在REST服务器中,我如何接收上述格式并正确分配给每个类别?
更新1
MultivaluedMap params = uriInfo.getQueryParameters();
参数的值为
{_=[1437904506062],{“take”:75,“skip”:0,“page”:1,“pageSize”:75、“filter”:{“logic”:“and”,“filters”:〔{“field”:“prodCode”,“operator”:“eq”,“value”:“Z30”}〕}=〔〕}
这是一个查询参数,因此您必须使用< code>key来获取它,该键的值为< code>{"take":75," skip":0," page":1," pageSize":75," filter":{"logic":"and "," filters": [{"field":"prodCode "," operator":"eq "," value ":" Z20 " } }:。因此,使用< code >键,将上述内容存储在< code >字符串中,然后解析为< code>JSON(这里我使用的是< code>org.json)。您可以根据需要提取任何< code >键/值
。您可以使用代码片段:-
String inputValue = @QueryParam(YOUR_KEY); // OR whatever way you get it
/*
* This inputValue will actually contain your value :-
* {"take":75,"skip":0,"page":1,
* "pageSize":75,"filter":{"logic":"and","filters":
* [{"field":"prodCode","operator":"eq","value":"Z20"}]}}
*/
JSONObject inputJSON = new JSONObject(inputValue);
//Now getting values from input JSON
int take = inputJSON.getInt("take");
int skip = inputJSON.getInt("skip");
int page = inputJSON.getInt("page");
int pageSize = inputJSON.getInt("pageSize");
JSONObject filter = inputJSON.getJSONObject("filter"); // filter is again a JSONObject
String logic = filter.getString("logic");
System.out.println(take + " "+skip + " "+page + " "+pageSize + " "+logic);
JSONArray filters = filter.getJSONArray("filters"); // filters is a JSONArray
for(int i = 0; i< filters.length(); i++){ // iterating over JSONArray
JSONObject jo = (JSONObject)filters.get(i);
String field = jo.getString("field");
String operator = jo.getString("operator");
String value = jo.getString("value");
System.out.println(field + " "+operator + " "+value );
}
输出:-
75 0 1 75 and
prodCode eq Z20
问题内容: 从格式如下的URL查询字符串中获取参数的“较少代码”方法是什么? www.mysite.com/category/subcategory?myqueryhash 输出应为: 我知道这种方法: 问题答案: 包含您要查找的数据。 文件资料 **php.net:$** _SERVER-手册
问题内容: 从Java脚本的路径中删除查询字符串的简便方法是什么?我已经看到了使用window.location.search的Jquery插件。我不能这样做:在我的情况下,URL是从AJAX设置的变量。 问题答案: 一个简单的方法是: 对于那些还希望在不存在querystring的情况下删除哈希(不是原始问题的一部分)的人,需要做更多的工作: 编辑 @caub(最初为@crl)建议了一个更简单的
问题内容: 说我有一个网址 并且我有一个用户输入的查询,例如: 随机词银行 我希望结果是正确编码的URL: 实现此目标的最佳方法是什么?我尝试创建URI / URL对象,但没有一个是正确的。 问题答案: 应该是要走的路。你只需要记住只对单个查询字符串参数名称和/或值进行编码,而不对整个URL 进行编码,请确保对查询字符串参数分隔符和参数名称-值分隔符都不进行编码。 请注意,查询参数中的空格由+而不
假设我有一个URL 并且我有一个用户输入的查询,例如: 随机字500英镑银行$ 我希望结果是一个正确编码的URL: 实现这一点的最佳方法是什么?我尝试了并创建URI/URL对象,但结果都不是很对。
问题内容: 我有一个网址 并且我有一个用户输入的查询,例如: 我希望结果是正确编码的URL: 实现此目标的最佳方法是什么?我尝试创建URI / URL对象,但是没有一个是正确的。 问题答案: 可以使用 。您只需要记住只对单个查询字符串参数名称和/或值进行编码,而不对整个URL 进行编码,请确保对查询字符串参数分隔符&和参数名称-值分隔符都不进行编码=。 请注意,查询参数中的空格由而不是表示,这是合
问题内容: 我正在努力在路由中传递和读取多个查询字符串参数。 这是搜索页面: 这是JobOffersController: 读取$ routeParams根本不起作用。如果我将“ developer”作为关键字,将“ New York”作为位置,则$ routeParam对象如下所示: 有人可以告诉我我在做什么错吗?提前致谢。 PS这可能是由于错误配置的路由吗?当我通过该函数导航时,它会将URL编